@layer components {
  .skeleton-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
  }

  .skeleton-line {
    block-size: 0.75rem;
    inline-size: 100%;

    background-color: var(--color-neutral-200);
    animation: skeleton-pulse 1.5s ease-in-out infinite;
  }

  .skeleton-stop {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
  }

  .skeleton-circle {
    flex-shrink: 0;
    inline-size: 36px;
    aspect-ratio: 1;
    border-radius: 50%;

    background-color: var(--color-neutral-200);
    animation: pulse 1.5s ease-in-out infinite;
  }

  .skeleton-stop-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  @keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
  }
}