/* Inputs — text, textarea, select */

.field-label {
  display: block;
  margin-bottom: var(--space-2);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-ink-2);
}

.input,
textarea,
select {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  background: var(--color-paper-1);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-ink-0);
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.65;
  outline: none;
  transition: border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;
}

textarea { resize: vertical; min-height: 120px; }
textarea.tall { min-height: 200px; }

.input::placeholder,
textarea::placeholder { color: var(--color-ink-3); }

.input:hover,
textarea:hover { border-color: var(--color-border-hover); }

.input:focus-visible,
textarea:focus-visible {
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px var(--color-accent-dim);
}

.input.is-invalid,
textarea.is-invalid {
  border-color: var(--color-danger);
  box-shadow: 0 0 0 3px var(--color-danger-dim);
}

.field-group { display: flex; flex-direction: column; }
