  .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Micro animations */
  @keyframes shine {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
  }
  .animate-shine {
    background-image: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.1) 50%, transparent 100%);
    background-size: 200% auto;
    animation: shine 3s linear infinite;
  }

  @keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-5px); }
  }
  .float-animate { animation: float 3s ease-in-out infinite; }

  .tilt-card { perspective: 1000px; }
  .tilt-inner { transition: transform 0.3s ease; transform-style: preserve-3d; }
  .tilt-card:hover .tilt-inner { transform: rotateY(4deg) rotateX(2deg); }

  .notify-btn:hover { background: linear-gradient(to right, #facc15, #f59e0b); color: #000; }
  .dark .notify-btn:hover { color: #000; }

  .flip-card { min-height: 430px; perspective: 1000px; }
  .flip-card-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.7s ease-in-out; }
  .flip-card-front, .flip-card-back { position: absolute; inset: 0; backface-visibility: hidden; }
  .flip-card-back { transform: rotateY(180deg); }
  .flip-card:hover .flip-card-inner { transform: rotateY(180deg); }
  .flip-card-front, .flip-card-back {
    backface-visibility: hidden; position: absolute; width: 100%; height: 100%;
    top: 0; left: 0; border-radius: 1.5rem; overflow: hidden;
  }
  .flip-card-back { transform: rotateY(180deg); }

  .scrollbar-hide::-webkit-scrollbar { display: none; }
  .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
