/* DRGN.earth Build 119R11 — venture-wide form feedback language.
   Pink/fuchsia means attention is needed; a busy button means DRGN received the
   action; existing green success treatments remain the completion signal. */
:root {
  --drgn-form-pink: #e61ad1;
  --drgn-form-pink-soft: rgba(230, 26, 209, .18);
  --drgn-form-pink-glow: rgba(230, 26, 209, .58);
  --drgn-form-toast-bg: rgba(21, 5, 20, .97);
}

.drgn-invalid,
[aria-invalid="true"].drgn-invalid {
  border-color: var(--drgn-form-pink) !important;
  outline: 2px solid var(--drgn-form-pink) !important;
  outline-offset: 1px;
  box-shadow: 0 0 0 3px var(--drgn-form-pink-soft), 0 0 18px var(--drgn-form-pink-glow) !important;
}

label.drgn-invalid-label,
fieldset.drgn-invalid-label,
.drgn-invalid-label .field-label-line {
  color: var(--drgn-form-pink) !important;
}

#drgn-form-toast {
  position: fixed;
  z-index: 2147483000;
  left: 50%;
  top: 18%;
  width: max-content;
  max-width: min(92vw, 680px);
  transform: translate(-50%, -14px) scale(.98);
  opacity: 0;
  pointer-events: none;
  padding: 14px 18px;
  border: 2px solid var(--drgn-form-pink);
  border-radius: 14px;
  background: var(--drgn-form-toast-bg);
  color: var(--drgn-form-pink);
  font-family: "Atkinson Hyperlegible", system-ui, sans-serif;
  font-size: clamp(1rem, 2.8vw, 1.22rem);
  font-weight: 750;
  line-height: 1.32;
  text-align: center;
  box-shadow: 0 0 22px var(--drgn-form-pink-glow), 0 16px 48px rgba(0,0,0,.56);
  transition: opacity .16s ease, transform .16s ease;
}

#drgn-form-toast strong {
  color: var(--drgn-form-pink);
  font-weight: 900;
}

#drgn-form-toast.drgn-show {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

#drgn-form-toast.drgn-success {
  color: #14fbc3;
  border-color: #14fbc3;
  box-shadow: 0 0 22px rgba(20,251,195,.42), 0 16px 48px rgba(0,0,0,.56);
}

#drgn-form-toast.drgn-success strong { color: #14fbc3; }

button.drgn-busy,
input[type="submit"].drgn-busy,
input[type="button"].drgn-busy {
  cursor: progress !important;
  opacity: .86;
}

button.drgn-busy::after { content: ""; }

@media (prefers-reduced-motion: reduce) {
  #drgn-form-toast { transition: opacity .1s linear; transform: translate(-50%, 0); }
  #drgn-form-toast.drgn-show { transform: translate(-50%, 0); }
}
