.avatar-item { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; } .avatar-label { margin: 0; color: var(--color-secondary); font-size: 0.875rem; } /* Avatar Component Styles */ .avatar { position: relative; display: inline-flex; overflow: hidden; width: 64px; height: 64px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 3.40282e38px; color: var(--color-secondary); cursor: pointer; font-weight: 500; } .avatar-image { width: 100%; height: 100%; aspect-ratio: 1; } /* Avatar sizes */ .avatar-sm { width: 2rem; height: 2rem; font-size: 0.875rem; } .avatar-md { width: 3rem; height: 3rem; font-size: 1.25rem; } .avatar-lg { width: 4rem; height: 4rem; font-size: 1.75rem; } /* State-specific styles */ .avatar[data-state="loading"] { animation: pulse 1.5s infinite ease-in-out; } .avatar[data-state="empty"] { background: var(--color-surface); } @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.7; } 100% { opacity: 1; } } .avatar-fallback { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: var(--color-surface); color: var(--color-primary); font-size: 1.5rem; } .avatar[data-state="error"] .avatar-fallback { background: var(--color-surface); color: var(--color-subtle); }