/* Current-message attachments, voice input and server-authored follow-ups. */
.professor-composer .composer-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .25rem; overflow: visible; }
.professor-composer .composer-selectors { display: flex; flex-wrap: wrap; min-width: 0; max-width: 100%; flex: 0 1 auto; gap: .25rem; }
.professor-composer .composer-input-row textarea { flex: 1 1 0; min-width: 0; }
.professor-composer .composer-input-row > .chat-tool-button { align-self: flex-end; }
.professor-composer .composer-chip { width: auto; min-width: 0; max-width: 100%; padding: .5rem .75rem; white-space: normal; overflow: visible; text-overflow: clip; }
.chat-input-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; min-width: 0; }
.chat-tool-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; min-width: 2.75rem; padding: .5rem; border: 0; border-radius: 50%; background: transparent; color: var(--color-text-secondary); box-shadow: none; }
.chat-tool-button svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.chat-tool-button:hover:not(:disabled), .chat-tool-button[aria-pressed="true"] { background: var(--color-selected); color: var(--color-text-primary); }
.chat-tool-button:disabled { opacity: .5; }
.chat-speech-language { width: auto; max-width: 10rem; min-height: 2.75rem; padding: .375rem .5rem; border: 0; background: transparent; color: var(--color-text-secondary); font-size: .75rem; }
.chat-tool-status, .chat-file-formats { margin: .25rem .75rem; font-size: .75rem; color: var(--color-text-secondary); line-height: 1.5; overflow-wrap: anywhere; }
.chat-tool-status:empty, .chat-file-formats:empty { display: none; }
.chat-tool-status[data-kind="error"] { color: var(--color-danger, #a23d32); }
.chat-attachments { display: grid; gap: .5rem; margin: .5rem; padding: 0; list-style: none; }
.chat-attachment { display: flex; gap: .5rem; align-items: center; justify-content: space-between; border: 1px solid var(--color-border-subtle); border-radius: .75rem; padding: .375rem .5rem .375rem .75rem; background: var(--color-surface-muted); }
.chat-attachment > div { min-width: 0; }
.chat-attachment strong, .chat-attachment small { display: block; overflow-wrap: anywhere; font-size: .75rem; }
.chat-attachment small { font-weight: 400; color: var(--color-text-secondary); }
#chat-answer-card .answer-document { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; position: relative; }
#adaptive-actions { margin: 0; align-self: start; min-width: 0; }
#chat-suggestions-list { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
#chat-suggestions-list .chat-suggestion-bubble { width: fit-content; max-width: 100%; border: 1px solid var(--color-border-subtle); background: var(--color-surface-muted); color: var(--color-text-primary); border-radius: 1rem 1rem .25rem 1rem; padding: .625rem .875rem; text-align: start; line-height: 1.5; font-size: .8125rem; white-space: normal; overflow-wrap: anywhere; box-shadow: none; animation: none; transform: none; }
#chat-suggestions-list .chat-suggestion-bubble:hover:not(:disabled) { background: var(--color-selected); }
.history-surface { max-width: 62rem; margin-inline: auto; }
.history-surface .chat-answer-content { white-space: pre-wrap; }
@media (min-width: 75rem) {
  #chat-answer-card .answer-document:has(#adaptive-actions:not([hidden])) { grid-template-columns: minmax(0, 1fr) minmax(12rem, 17rem); }
}
@media (max-width: 30rem) {
  .professor-composer .composer-input-row { gap: .25rem; }
  .chat-input-tools { max-width: 100%; }
  #chat-answer-card .answer-document { gap: 1rem; }
}
@media (forced-colors: active) { .chat-tool-button, .chat-suggestion-bubble { border: 1px solid ButtonText; } }
