.skeleton-card, .skeleton-list-item { @apply flex items-center gap-3 rounded-xl border p-4; background: var(--panel); border-color: var(--line-soft); animation: skeleton-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } .skeleton-avatar { @apply h-12 w-12 shrink-0 rounded-full; background: linear-gradient( 90deg, var(--panel-muted) 0%, var(--panel-soft) 50%, var(--panel-muted) 100% ); background-size: 200% 100%; animation: shimmer 1.5s ease-in-out infinite; } .skeleton-icon { @apply h-10 w-10 shrink-0 rounded-lg; background: linear-gradient( 90deg, var(--panel-muted) 0%, var(--panel-soft) 50%, var(--panel-muted) 100% ); background-size: 200% 100%; animation: shimmer 1.5s ease-in-out infinite; } .skeleton-content { @apply min-w-0 flex-1 space-y-2; } .skeleton-line { @apply h-3 rounded-full; background: linear-gradient( 90deg, var(--panel-muted) 0%, var(--panel-soft) 50%, var(--panel-muted) 100% ); background-size: 200% 100%; animation: shimmer 1.5s ease-in-out infinite; } .skeleton-line-sm { @apply w-1/3; } .skeleton-line-md { @apply w-2/3; } .skeleton-line-lg { @apply w-4/5; } .skeleton-line-xl { @apply w-full; } .skeleton-page { @apply h-full space-y-4 p-4; } .skeleton-header { @apply mb-6; } .skeleton-body { @apply space-y-3; }