/* Base Skeleton Style */
.skeleton {
  background-color: #e2e5e7;
  background-image: linear-gradient(90deg, #e2e5e7 0px, #f8f8f8 40px, #e2e5e7 80px);
  background-size: 600px;
  background-repeat: no-repeat;
  animation: shine 1.2s linear infinite;
  border-radius: 4px;
}

@keyframes shine {
  0% {
    background-position: -100px;
  }
  100% {
    background-position: 600px;
  }
}

/* Section heading */
.skeleton-heading {
  height: 24px;
  width: 30%;
  margin: 20px auto;
  border-radius: 6px;
}

/* Topic card container */
.skeleton-topic-card {
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* Title placeholder */
.skeleton-title {
  height: 18px;
  width: 60%;
  margin-bottom: 10px;
  border-radius: 6px;
}

/* Paragraph lines */
.skeleton-text-line {
  height: 14px;
  width: 100%;
  margin-bottom: 6px;
  border-radius: 4px;
}
.skeleton-text-line.short {
  width: 80%;
}

/* Tags placeholder */
.skeleton-tags {
  display: flex;
  gap: 10px;
  margin: 12px 0;
}

.skeleton-tag {
  height: 24px;
  width: 100px;
  border-radius: 12px;
}

/* Share section */
.skeleton-share {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.skeleton-share-text {
  height: 16px;
  width: 60px;
  border-radius: 4px;
}

.skeleton-icon {
  height: 20px;
  width: 20px;
  border-radius: 50%;
}
