/* Custom styles for meme text */
.meme-text {
  font-family: Impact, 'Arial Black', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  letter-spacing: 1px;
  line-height: 1.1;
  word-wrap: break-word;
  hyphens: auto;
}

/* Loading animation */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

/* Responsive text sizing */
@media (max-width: 640px) {
  .meme-text {
    font-size: 1rem !important;
    line-height: 1.2;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .meme-text {
    font-size: 1.25rem !important;
  }
}

/* Button hover effects */
button:not(:disabled):hover {
  transform: translateY(-1px);
}

button:not(:disabled):active {
  transform: translateY(0);
}

/* Gradient backgrounds */
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

/* Custom scrollbar for textarea */
textarea::-webkit-scrollbar {
  width: 8px;
}

textarea::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

textarea::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

textarea::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}