/* Loading Skeleton */
.loading-skeleton {
  animation: fadeInUp var(--transition-base) ease-out;
}

.skeleton-avatar {
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s ease-in-out infinite;
  border-radius: var(--border-radius-full);
}

.skeleton-bubble {
  background: var(--color-background-secondary);
  padding: var(--spacing-md) var(--spacing-lg);
  min-height: 50px;
  width: fit-content;
  max-width: min(var(--message-max-width), calc(100% - 60px));
  border-radius: var(--border-radius-xl) var(--border-radius-xl) var(--border-radius-xl) var(--border-radius-sm);
}

.skeleton-line {
  height: var(--font-size-sm);
  background: linear-gradient(90deg, #e0e0e0 25%, #d0d0d0 50%, #e0e0e0 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s ease-in-out infinite;
  border-radius: 6px;
  margin-bottom: var(--spacing-sm);
}

.skeleton-line:last-child {
  margin-bottom: 0;
}

/* Utility Classes */
.hidden {
  display: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

