.dao-field-error {
  display: flex;
  min-height: 1.45em;
  margin: 7px 0 0;
  align-items: baseline;
  gap: 8px;
  color: var(--cinnabar-dark, var(--cinnabar, #9f3c30));
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .01em;
  line-height: 1.55;
  text-align: left;
}

.dao-field-error::before {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: currentColor;
  content: "";
  transform: translateY(-1px);
}

.dao-field-error[hidden] { display: none !important; }

:where(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--cinnabar, #9f3c30) !important;
  box-shadow: inset 0 -1px 0 var(--cinnabar, #9f3c30);
}

label.is-invalid > :where(span, small):first-child { color: var(--cinnabar-dark, var(--cinnabar, #9f3c30)); }

@media (prefers-reduced-motion: no-preference) {
  .dao-field-error:not([hidden]) { animation: dao-field-error-enter 180ms cubic-bezier(.22, 1, .36, 1) both; }
}

@keyframes dao-field-error-enter {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}
