.vui-rate {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: 24px;
  line-height: 1;
  user-select: none;
}
.vui-rate-disabled {
  cursor: not-allowed;
}
.vui-rate-character {
  position: relative;
  color: var(--color-fill-3);
  transition: transform 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
}
.vui-rate-character:not(:last-child) {
  margin-right: 8px;
}
.vui-rate-character-left,
.vui-rate-character-right {
  transition: inherit;
}
.vui-rate-character-left > *,
.vui-rate-character-right > * {
  float: left;
}
.vui-rate-character-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
}
.vui-rate-character-scale {
  animation: vui-rate-scale 0.4s cubic-bezier(0.34, 0.69, 0.1, 1);
}
.vui-rate-character-full .vui-rate-character-right {
  color: rgb(var(--gold-6));
}
.vui-rate-character-half .vui-rate-character-left {
  color: rgb(var(--gold-6));
  opacity: 1;
}
.vui-rate-character-disabled {
  cursor: not-allowed;
}
.vui-rate:not(.vui-rate-readonly):not(.vui-rate-disabled) .vui-rate-character {
  cursor: pointer;
}
.vui-rate:not(.vui-rate-readonly):not(.vui-rate-disabled) .vui-rate-character:hover,
.vui-rate:not(.vui-rate-readonly):not(.vui-rate-disabled) .vui-rate-character:focus {
  transform: scale(1.2);
}
@keyframes vui-rate-scale {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
