/*
 * StudyReads Custom Styles
 * -----------------------
 * This file contains custom CSS that supplements the Tailwind CSS framework.
 * It includes custom animations, font imports, and base styles not covered by Tailwind classes.
 */

/* --- Google Font Import --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* --- Base Styles & Overrides --- */
body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Custom Text Selection Color (from App.tsx) */
::selection {
    background-color: #dbeafe; /* Corresponds to brand-100 */
    color: #1e3a8a;       /* Corresponds to brand-900 */
}
::-moz-selection {
    background-color: #dbeafe; /* Corresponds to brand-100 */
    color: #1e3a8a;       /* Corresponds to brand-900 */
}

/* --- Custom Animations (from Hero.tsx) --- */

/* Keyframes for the decorative blobs in the Hero section */
@keyframes blob {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -50px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
  100% {
    transform: translate(0px, 0px) scale(1);
  }
}

/* Class to apply the blob animation */
.animate-blob {
    animation: blob 7s infinite;
}

/* Custom animation delay utility */
.animation-delay-2000 {
    animation-delay: 2s;
}

/* Keyframes for the slower bounce on the floating badge in the Hero section */
@keyframes bounce-slow {
  0%, 100% {
    transform: translateY(-10%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

/* Class to apply the slow bounce animation */
.animate-bounce-slow {
    animation: bounce-slow 2.5s infinite;
}