:root {
  --composer-width: var(--size-936);
  --composer-reasoning-width: var(--size-140);
  --composer-background: var(--color-surface);
  --composer-border: var(--control-border-width) solid var(--color-border);
  --composer-radius: var(--radius-16);
  --composer-padding: var(--space-4);
  --composer-gap: var(--space-3);
  --composer-controls-gap: var(--space-2);
  --composer-input-border: 0;
  --composer-input-radius: 0;
  --composer-input-padding: 0;
  --composer-input-foreground: var(--color-input-foreground);
  --composer-input-max-height: var(--size-24dvh);
  --composer-help-font: var(--font-type-caption);
}

.message-composer__input {
  --textarea-border: var(--composer-input-border);
  --textarea-radius: var(--composer-input-radius);
  --textarea-padding: var(--composer-input-padding);
  --textarea-foreground: var(--composer-input-foreground);
  max-block-size: var(--composer-input-max-height);
}

.message-composer {
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: var(--composer-width);
  display: grid;
  gap: var(--composer-controls-gap);
}

.message-composer__surface {
  box-sizing: border-box;
  display: grid;
  min-inline-size: 0;
  gap: var(--composer-gap);
  padding: var(--composer-padding);
  border: var(--composer-border);
  border-radius: var(--composer-radius);
  background: var(--composer-background);
}

.message-composer__attachments,
.message-composer__toolbar,
.message-composer__settings {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-inline-size: 0;
  gap: var(--composer-controls-gap);
}

.message-composer__attachments[hidden] { display: none; }
.message-composer__settings { flex: 1 1 auto; }
.message-composer__reasoning { inline-size: var(--composer-reasoning-width); min-inline-size: 0; max-inline-size: 100%; }
.message-composer__submit { margin-inline-start: auto; }

.message-composer__help,
.message-composer__status,
.message-composer__unsupported {
  margin: 0;
  color: var(--color-muted-foreground);
  font: var(--composer-help-font);
  overflow-wrap: anywhere;
}
