/*
 * PromptBar — the chat input docked at the bottom of the Assistant panel
 * (AgentPanel). A single textarea (Enter to send); no mode/scope/submit buttons.
 * Token-only styling; a 1px top border separates it from the conversation above.
 */

.promptbar {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-md);
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
}

/* The prompt input — a small multi-row textarea that fills the panel width.
   Enter sends; Shift+Enter inserts a newline (handled in the component). */
.promptbar-input {
  width: 100%;
  resize: none;
  font-family: var(--font-family-ui);
  line-height: var(--line-height-body);
}

/* Footer row under the input: the muted scope hint on the left, the
   send/streaming hint on the right. Both are read-only Label text. */
.promptbar-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  font-size: var(--font-size-label);
  line-height: var(--line-height-label);
  color: var(--color-text-muted);
}

.promptbar-context {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.promptbar-hint {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex: 0 0 auto;
  white-space: nowrap;
}

/* The disabled / error note — muted by default; error variant is destructive.
   Both pair an icon with text so color is never the sole signal. */
.promptbar-note {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0;
  font-size: var(--font-size-label);
  line-height: var(--line-height-label);
  color: var(--color-text-muted);
}

.promptbar-note-error {
  color: var(--color-destructive);
}

/* Reduced motion: the spinner glyph stops rotating (falls back to the text
   label) — the .spinner keyframe is global; this disables it on the hint. */
@media (prefers-reduced-motion: reduce) {
  .promptbar-hint .spinner {
    animation: none;
  }
}
