.avatar { --avatar-border-radius: 50%; aspect-ratio: 1; border-radius: var(--avatar-border-radius); display: grid; inline-size: var(--avatar-size, 5ch); margin: 0; place-items: center; position: relative; img { aspect-ratio: 1; block-size: auto; border-radius: var(--avatar-border-radius); grid-area: 1/1; inline-size: var(--avatar-size, 5ch); max-inline-size: 100%; object-fit: cover; .banned & { opacity: 0.5; } } .banned &:after { background: url(cancel.svg) no-repeat center center; block-size: auto; content: ""; filter: invert(0%); inline-size: var(--avatar-size, 5ch); inset: 0; max-inline-size: 100%; position: absolute; @media (prefers-color-scheme: dark) { filter: invert(100%); } } } .avatar--icon { border: 1px solid var(--color-border-darker); background-color: var(--color-text-reversed); img { background-color: transparent; border-radius: 0; inline-size: auto; margin: var(--inline-space); } @media (any-hover: hover) { &:where(:not(:active):hover) { box-shadow: 0 0 0 var(--hover-size) var(--hover-color); } } } .avatar__group { --avatar-size: 2.5ch; block-size: 5ch; display: grid; gap: 1px; grid-template-columns: 1fr 1fr; grid-template-rows: min-content; inline-size: 5ch; place-content: center; .avatar { margin: auto; } &:where(:has(> :last-child:nth-child(2))) { --avatar-size: 3.5ch; > :first-child { margin-block-end: 1.5ch; margin-inline-end: -0.75ch; } > :last-child { margin-block-start: 1.5ch; margin-inline-start: -0.75ch; } } &:where(:has(> :last-child:nth-child(3))) { > :last-child { margin-inline: 1.25ch -1.25ch; } } } .avatar__form { display: grid; grid-template-columns: 1fr auto 1fr; } /* Account logo */ .account-logo { --avatar-border-radius: 0.5em; #nav & { block-size: var(--btn-size); inline-size: auto; } }