.rux-help-text {
  margin-top: var(--spacing-2, 0.5rem);
  color: var(--color-text-secondary, #d4d8dd);
  font-size: var(--font-body-2-font-size, 0.875rem);
  font-family: var(--font-body-2-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif);
  font-weight: var(--font-body-2-font-weight, 400);
  letter-spacing: var(--font-body-2-letter-spacing, 0.005em);
  line-height: var(--font-body-2-line-height, calc(20 / 14));
  text-align: left;
}

.rux-error-text {
  display: flex;
  align-items: center;
  text-align: left;
  width: fit-content;
  -webkit-order: 3;
  order: 3;
  display: flex;
  margin-top: var(--spacing-2, 0.5rem);
  color: var(--color-text-error, #ff3838);
  font-size: var(--font-body-2-bold-font-size, 0.875rem);
  font-family: var(--font-body-2-bold-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif);
  font-weight: var(--font-body-2-bold-font-weight, 700);
  letter-spacing: var(--font-body-2-bold-letter-spacing, 0.005em);
  line-height: var(--font-body-2-bold-line-height, calc(20 / 14));
  text-align: left;
}

.rux-error-text svg {
  width: calc(var(--spacing-4, 1rem) + var(--spacing-1, 0.25rem));
  height: calc(var(--spacing-4, 1rem) + var(--spacing-1, 0.25rem));
  color: var(--color-text-error, #ff3838);
  margin-right: var(--spacing-2, 0.5rem);
  cursor: default;
}

:host {
  display: block;
}

.hidden,
:host([hidden]) {
  display: none;
}

textarea {
  scrollbar-color: var(--color-border-interactive-muted, #2b659b) var(--color-background-surface-default, #1b2d3e);
  /* visually "centers" because the dark edge of the shadow gives the illusion this is offset */
}
textarea::-webkit-scrollbar {
  width: var(--spacing-4, 1rem);
  height: var(--spacing-4, 1rem);
  background-color: transparent;
}
textarea::-webkit-scrollbar-thumb {
  background-color: var(--color-border-interactive-muted, #2b659b);
  border-radius: var(--spacing-2, 0.5rem);
  border: 3px solid transparent;
  background-clip: padding-box;
}
textarea::-webkit-scrollbar-thumb:vertical {
  border-left-width: var(--border-width-lg, 4px);
}
textarea::-webkit-scrollbar-thumb:horizontal {
  border-top-width: var(--border-width-lg, 4px);
}
textarea::-webkit-scrollbar-thumb:active, textarea::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-background-interactive-default, #3a81bf);
}
textarea::-webkit-scrollbar-track {
  background-color: var(--color-background-surface-default, #1b2d3e);
  box-shadow: var(--scrollbar-shadow-inner-vertical, inset 3px 3px 3px 0px rgba(0, 0, 0, 0.5));
}
textarea::-webkit-scrollbar-corner {
  background-color: var(--color-background-surface-default, #1b2d3e);
}
textarea::-webkit-scrollbar-track:vertical {
  box-shadow: var(--scrollbar-shadow-inner-vertical, inset 3px 3px 3px 0px rgba(0, 0, 0, 0.5));
}
textarea::-webkit-scrollbar-track:horizontal {
  box-shadow: var(--scrollbar-shadow-inner-horizontal, inset 1px 3px 3px 0px rgba(0, 0, 0, 0.5));
}

.rux-textarea {
  box-sizing: border-box;
  font-family: var(--font-control-body-1-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif);
  font-size: var(--font-control-body-1-font-size, 1rem);
  letter-spacing: var(--font-control-body-1-letter-spacing, 0.005em);
  font-weight: var(--font-control-body-1-font-weight, 400);
  line-height: var(--font-control-body-1-line-height, calc(20 / 16));
  color: var(--color-text-primary, #ffffff);
  background-color: var(--color-background-base-default, #101923);
  min-height: var(--spacing-16, 4rem);
  width: 100%;
  padding: var(--spacing-2, 0.5rem);
  margin: var(--spacing-0, 0rem);
  border: 1px solid var(--color-border-interactive-muted, #2b659b);
  border-radius: var(--radius-base, 3px);
}
.rux-textarea--invalid {
  border: 1px solid var(--color-text-error, #ff3838);
}
.rux-textarea--disabled {
  opacity: 0.4;
  opacity: var(--opacity-disabled, 40%);
  cursor: not-allowed;
}
.rux-textarea--small {
  padding: var(--spacing-1, 0.25rem) var(--spacing-2, 0.5rem);
  min-height: var(--spacing-14, 3.5rem);
}
.rux-textarea--large {
  min-height: calc(var(--spacing-16, 4rem) + var(--spacing-2, 0.5rem));
  padding: var(--spacing-3, 0.75rem) var(--spacing-2, 0.5rem);
}
.rux-textarea:focus-visible {
  outline: var(--border-width-focus-default, 1px) solid var(--color-border-focus-default, #da9ce7);
  outline-offset: var(--spacing-focus-default, 0.125rem);
}
.rux-textarea:hover {
  border-color: var(--color-background-interactive-hover, #92cbff);
  outline: none;
}
.rux-textarea--disabled:hover {
  border: 1px solid var(--color-border-interactive-muted, #2b659b);
  color: var(--color-text-primary, #ffffff);
}
.rux-textarea--invalid:hover {
  border: 1px solid var(--color-text-error, #ff3838);
}
.rux-textarea::placeholder {
  color: var(--color-text-placeholder, #a4abb6);
}

.rux-textarea-field {
  display: flex;
  flex-direction: column;
  color: var(--color-text-primary, #ffffff);
}

.rux-textarea-label {
  font-family: var(--font-control-body-1-font-family, 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif);
  font-size: var(--font-control-body-1-font-size, 1rem);
  font-weight: var(--font-control-body-1-font-weight, 400);
  letter-spacing: var(--font-control-body-1-letter-spacing, 0.005em);
  margin-bottom: var(--spacing-2, 0.5rem);
  text-align: left;
}
.rux-textarea-label__asterisk {
  margin-left: var(--spacing-1, 0.25rem);
}

::selection {
  background-color: var(--color-palette-brightblue-400, #92cbff);
}