Files
once-campfire/app/assets/stylesheets/avatars.css
2025-11-26 13:08:35 -06:00

110 lines
2.0 KiB
CSS

.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;
}
}