* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Arial', sans-serif; background: #fafafa; display: flex; justify-content: center; align-items: center; min-height: 100vh; }
.container { text-align: center; }
h1 { margin-bottom: 20px; color: #333; }
.card { position: relative; width: 400px; height: 300px; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 20px rgba(0,0,0,0.1); margin-bottom: 20px; cursor: pointer; }
.card img { width: 100%; height: 100%; object-fit: cover; }
.heart { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0); font-size: 80px; opacity: 0; color: #e74c3c; user-select: none; }
@keyframes pop { 
    0% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
    50% { transform: translate(-50%, -50%) scale(1.5); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 0; }
}
.heart.active { animation: pop 0.8s ease-out; }
p { font-size: 20px; font-weight: bold; color: #555; }
span { color: #e74c3c; }
