.cnvs-avatar {
  box-sizing: border-box;
  background: var(--cnvs-sys-color-bg-caution-default);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  overflow: hidden;
  cursor: default;
  pointer-events: none;
  border-radius: var(--cnvs-sys-shape-round);
  width: var(--cnvs-avatar-size);
  height: var(--cnvs-avatar-size);
}

.cnvs-avatar:focus-visible, .cnvs-avatar.focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--cnvs-base-palette-french-vanilla-100, rgba(255,255,255,1)),0 0 0 4px var(--cnvs-brand-common-focus-outline, rgba(8,117,225,1));
}

.cnvs-avatar :is(button) {
  cursor: pointer;
  pointer-events: auto;
}

.cnvs-avatar:disabled, .cnvs-avatar.disabled {
  opacity: var(--cnvs-sys-opacity-disabled);
}

.cnvs-avatar [data-part="avatar-icon"] {
  transition: opacity 150ms linear;
  display: flex;
  align-items: center;
  justify-content: center;
  --cnvs-svg-size: calc(var(--cnvs-avatar-size) * 0.625);
  opacity: 1;
}

.cnvs-avatar [data-part="avatar-image"] {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  transition: opacity 150ms linear;
  opacity: 0;
}


.cnvs-avatar.variant-light {
  background-color: var(--cnvs-sys-color-bg-alt-default);
}

.cnvs-avatar.variant-light [data-part="avatar-icon"] {
  --cnvs-system-icon-color: var(--cnvs-sys-color-fg-default);
}


.cnvs-avatar.variant-dark {
  background-color: var(--cnvs-sys-color-bg-primary-default);
}

.cnvs-avatar.variant-dark [data-part="avatar-icon"] {
  --cnvs-system-icon-color: var(--cnvs-sys-color-fg-inverse);
}


.cnvs-avatar.size-extra-small {
  width: var(--cnvs-sys-space-x4);
  height: var(--cnvs-sys-space-x4);
}

.cnvs-avatar.size-extra-small [data-part="avatar-icon"] {
  --cnvs-svg-size: calc(var(--cnvs-sys-space-x4) * 0.625);
}


.cnvs-avatar.size-small {
  width: var(--cnvs-sys-space-x6);
  height: var(--cnvs-sys-space-x6);
}

.cnvs-avatar.size-small [data-part="avatar-icon"] {
  --cnvs-svg-size: calc(var(--cnvs-sys-space-x6) * 0.625);
}


.cnvs-avatar.size-medium {
  width: var(--cnvs-sys-space-x8);
  height: var(--cnvs-sys-space-x8);
}

.cnvs-avatar.size-medium [data-part="avatar-icon"] {
  --cnvs-svg-size: calc(var(--cnvs-sys-space-x8) * 0.625);
}


.cnvs-avatar.size-large {
  width: var(--cnvs-sys-space-x10);
  height: var(--cnvs-sys-space-x10);
}

.cnvs-avatar.size-large [data-part="avatar-icon"] {
  --cnvs-svg-size: calc(var(--cnvs-sys-space-x10) * 0.625);
}


.cnvs-avatar.size-extra-large {
  width: var(--cnvs-sys-space-x16);
  height: var(--cnvs-sys-space-x16);
}

.cnvs-avatar.size-extra-large [data-part="avatar-icon"] {
  --cnvs-svg-size: calc(var(--cnvs-sys-space-x16) * 0.625);
}


.cnvs-avatar.size-extra-extra-large {
  width: calc(var(--cnvs-sys-space-x10) * 3);
  height: calc(var(--cnvs-sys-space-x10) * 3);
}

.cnvs-avatar.size-extra-extra-large [data-part="avatar-icon"] {
  --cnvs-svg-size: calc(calc(var(--cnvs-sys-space-x10) * 3) * 0.625);
}


.cnvs-avatar.object-fit-contain [data-part="avatar-image"] {
  object-fit: contain;
}


.cnvs-avatar.object-fit-fill [data-part="avatar-image"] {
  object-fit: fill;
}


.cnvs-avatar.object-fit-cover [data-part="avatar-image"] {
  object-fit: cover;
}


.cnvs-avatar.object-fit [data-part="avatar-image"] {
  object-fit: scale-down;
}


.cnvs-avatar.object-fit-none [data-part="avatar-image"] {
  object-fit: none;
}


.cnvs-avatar.object-fit [data-part="avatar-image"] {
  object-fit: -moz-initial;
}


.cnvs-avatar.object-fit [data-part="avatar-image"] {
  object-fit: initial;
}


.cnvs-avatar.object-fit [data-part="avatar-image"] {
  object-fit: inherit;
}


.cnvs-avatar.object-fit [data-part="avatar-image"] {
  object-fit: revert;
}


.cnvs-avatar.object-fit [data-part="avatar-image"] {
  object-fit: unset;
}


.cnvs-avatar.is-image-loaded [data-part="avatar-icon"] {
  opacity: 0;
}

.cnvs-avatar.is-image-loaded [data-part="avatar-image"] {
  opacity: 1;
}

