  @import url('https://fonts.googleapis.com/css2?family=Bagel+Fat+One&display=swap');

  /* Custom styles for the page */
  body {
      /* Using a cute, playful font stack */
      font-family: "Bagel Fat One", system-ui;
      font-weight: 400;
      font-style: normal;
      background-color: #000000;
      /* Deep black background */
      color: #e5e7eb;
      /* Light text color for contrast */
      padding-top: 2rem;
      padding-bottom: 2rem;
  }

  /* Icon link styles for footer */
  .icon-link {
      font-size: 2rem;
      /* Icon size */
      margin: 0 0.75rem;
      /* Spacing around icons */
      color: #9ca3af;
      /* Default icon color */
      transition: color 0.3s ease, transform 0.3s ease;
      /* Smooth transition for hover effects */
  }

  .icon-link:hover {
      color: #FFC0CB;
      /* Cute pink color on hover */
      transform: scale(1.1);
      /* Slight zoom effect on hover */
  }

  /* Token detail link styles */
  .token-detail-link {
      color: #FFC0CB;
      /* Pink color for token links */
      text-decoration: underline;
  }

  .token-detail-link:hover {
      color: #ff99b9;
      /* Lighter pink on hover */
  }

  /* Fade-in animation for images */
  @keyframes fadeIn {
      from {
          opacity: 0;
          transform: translateY(10px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .fade-in-image {
      opacity: 0;
      /* Start hidden */
      animation: fadeIn 1s ease-out forwards;
  }

  .main-logo-fade {
      animation-delay: 0.3s;
      /* Delay for main logo */
  }

  .marquee-image.fade-in-image {
      animation-delay: 0.8s;
      /* Delay for marquee images */
  }

  /* Hover effect for contract button */
  .contract-button {
      transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
  }

  .contract-button:hover {
      box-shadow: 0 0 20px 7px rgba(255, 105, 180, 0.6);
      /* Glowing pink shadow */
      transform: translateY(-2px);
      /* Slight lift effect */
  }

  /* Marquee styles */
  .marquee-outer-container {
      margin-top: 2.5rem;
      margin-bottom: 2.5rem;
      position: relative;
      overflow: hidden;
      /* Hide parts of the marquee content that are outside */
  }

  /* Fade effect for marquee edges */
  .marquee-outer-container::before,
  .marquee-outer-container::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      width: 75px;
      /* Width of the fade effect */
      z-index: 2;
      /* Ensure fade is above marquee items */
      pointer-events: none;
      /* Allow clicks through the fade */
  }

  .marquee-outer-container::before {
      left: 0;
      background: linear-gradient(to right, #000000 20%, rgba(0, 0, 0, 0) 100%);
  }

  .marquee-outer-container::after {
      right: 0;
      background: linear-gradient(to left, #000000 20%, rgba(0, 0, 0, 0) 100%);
  }

  .marquee-content-wrapper {
      display: inline-block;
      white-space: nowrap;
      font-size: 0;
      /* Removes potential whitespace issues between inline-block elements */
      will-change: transform;
      /* Hint for browser animation optimization */
  }


  .marquee-image {
      height: 200px;
      width: 200px;
      object-fit: cover;
      margin-right: 1rem;
      /* 16px */
      border-radius: 0.375rem;
      display: inline-block;
      vertical-align: middle;
      background-color: #374151;
  }

  /* Footer icon container */
  .footer-icons {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1.5rem;
  }

  /* Custom Message Box Styles */
  #customMessageBox {
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      background-color: #FFC0CB;
      /* Pink background */
      color: #1f2937;
      /* Dark text for contrast */
      padding: 1rem 1.5rem;
      border-radius: 0.5rem;
      /* Tailwind's rounded-lg */
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
      z-index: 1000;
      font-size: 0.875rem;
      /* Tailwind's text-sm */
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      display: flex;
      /* For aligning icon and text */
      align-items: center;
      /* For aligning icon and text */
  }

  #customMessageBox.show {
      opacity: 1;
      visibility: visible;
  }

  #customMessageBox .icon {
      margin-right: 0.75rem;
      /* Space between icon and text */
  }