We're sorry for any frustration this has caused and please rest assured that a card is never truly lost, but there are occasions when your game may think that it is.
Your game client generally shows all actions to you instantly, but it relies on a stable connection to the game servers to ensure that your actions are sent to the game servers and validated there. All events, such as playing cards, are processed on the game servers, so a card will not actually be removed from your account's card inventory unless it has successfully been put in to play on the game servers.
If you do not have good connectivity to the servers or if there is packet loss or a temporary disruption, your game client may not receive the latest information from the game servers and thus behave strangely or display incorrect game states.
For example, if you play a card, your game client will show the card being removed from your inventory and the message is sent to the game server. If the game server never receives this message, then the card is not actually removed from your inventory. It is still there, but you will not be able to see it until your game client makes a full update with the game servers again. You can do this by closing the client and reopening it.
It is also possible that the game servers have received the message about the card being played, but your game client has not received a message back from the game servers confirming it. In this case, the card has been removed from your inventory and is in effect on the game world, but your game client would not know about this, causing an incorrect game state. Once your game client makes a full update with the game servers again, this should correct the issue. The easiest way to do so is by closing the client and reopening it.