.root { --_size: 0px; --half-size: calc(var(--_size) / 2); --spacing: calc(var(--_size) * 0.4); --spacing-gap: calc(var(--_size) * 0.04); position: relative; display: flex; } .avatar { --radius: calc(var(--half-size) + var(--spacing-gap)); margin-inline-start: calc(var(--spacing-gap) - var(--spacing)); mask: radial-gradient(circle var(--radius) at var(--offset) 50%, transparent 99%, #fff 100%); &:first-child { margin-inline-start: 0; mask: none; } } .root[dir="ltr"] .avatar { --offset: calc(0% - var(--half-size) + var(--spacing)); } .root[dir="rtl"] .avatar { --offset: calc(100% + var(--half-size) - var(--spacing)); } .badge { position: absolute; right: -1px; bottom: -1px; padding: 0rem 0.25rem; border: 1px solid var(--color-background); border-radius: 1rem; font-size: 0.75rem; font-weight: var(--font-weight-medium); line-height: 1rem; color: var(--color-white); background-color: var(--color-primary); }