// ───────────────────────────────────────────────────────────────────────────── // Component: Avatars // File: src/scss/components/_avatars.scss // // Variants: .avatar .avatar--sm .avatar--lg .avatar--agent .avatar--org // .participant-stack .participant-avatar .participant-overflow // Tokens: --bg-overlay, --border-default, --domain-agent, --agent-accent // Usage:
A
// // Notes: Agent avatars get the fuchsia ring — intentionally distinct. // Participant stack uses negative margin for overlap effect. // ───────────────────────────────────────────────────────────────────────────── .avatar { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--radius-full); font-size: 13px; font-weight: var(--weight-semibold); background: var(--bg-overlay); color: var(--text-muted); border: 1px solid var(--border-default); flex-shrink: 0; overflow: hidden; img { width: 100%; height: 100%; object-fit: cover; } } .avatar--sm { width: 24px; height: 24px; font-size: 10px; } .avatar--lg { width: 48px; height: 48px; font-size: 18px; } .avatar--agent { border-color: color-mix(in srgb, var(--agent-accent) 40%, transparent); box-shadow: 0 0 8px color-mix(in srgb, var(--agent-accent) 20%, transparent); } .avatar--org { border-radius: var(--radius-md); } // Stacked participant avatars .participant-stack { display: flex; align-items: center; } .participant-avatar { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: var(--radius-full); font-size: 11px; font-weight: var(--weight-semibold); color: #fff; text-decoration: none; border: 2px solid var(--bg-surface); margin-left: -6px; transition: transform var(--transition-fast); flex-shrink: 0; &:first-child { margin-left: 0; } &:hover { transform: translateY(-2px); text-decoration: none; } } .participant-overflow { display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 0 var(--space-2); border-radius: var(--radius-full); font-size: 11px; font-weight: var(--weight-semibold); color: var(--text-muted); background: var(--bg-overlay); border: 2px solid var(--bg-surface); margin-left: -6px; white-space: nowrap; }