/* Load after conversation-layout.css and the chat theme. */
body:not(.delivery-viewer) .frame .composer {
  --wechat-input-min: 112px;
  --wechat-input-max: min(220px, 32dvh);
  --wechat-tools-height: 32px;
  padding-block: 9px 8px;
}
body:not(.delivery-viewer) .frame .composer .composer-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: [input-start] minmax(var(--wechat-input-min), auto) [tools-start] var(--wechat-tools-height);
  gap: 6px 10px;
  min-height: calc(var(--wechat-input-min) + var(--wechat-tools-height) + 6px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body:not(.delivery-viewer) .frame .composer .composer-box form {
  grid-column: 1 / -1;
  grid-row: input-start;
  display: block;
  min-width: 0;
  min-height: var(--wechat-input-min);
  padding: 0;
  margin: 0;
}
body:not(.delivery-viewer) .frame .composer .composer-box #chat-input {
  display: block;
  width: 100%;
  min-height: var(--wechat-input-min);
  max-height: var(--wechat-input-max);
  padding: 5px 2px 8px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  outline: none;
  resize: none;
  line-height: 23px;
}
body:not(.delivery-viewer) .frame .composer .composer-box > .hh-attachments {
  display: contents;
}
body:not(.delivery-viewer) .frame .composer .composer-box .hh-attachment-toolbar {
  grid-column: 1;
  grid-row: tools-start;
  display: flex;
  align-items: center;
  justify-self: start;
  align-self: end;
  min-width: 0;
  min-height: var(--wechat-tools-height);
  padding: 0;
  gap: 4px;
  flex-wrap: nowrap;
}
body:not(.delivery-viewer) .frame .composer .composer-box #send-button {
  position: static;
  grid-column: 2;
  grid-row: tools-start;
  justify-self: end;
  align-self: end;
  min-width: 64px;
  height: var(--wechat-tools-height);
  margin: 0;
  padding: 5px 12px;
}
body:not(.delivery-viewer) .frame .composer .composer-box:has(.hh-attachment-drafts:not(:empty)) {
  grid-template-rows: [draft-start] auto [input-start] minmax(var(--wechat-input-min), auto) [tools-start] var(--wechat-tools-height);
}
body:not(.delivery-viewer) .frame .composer .composer-box .hh-attachment-drafts:not(:empty) {
  position: static;
  inset: auto;
  grid-column: 1 / -1;
  grid-row: draft-start;
  min-width: 0;
  max-height: min(90px, 15dvh);
  overflow-y: auto;
  padding: 0;
  margin: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body:not(.delivery-viewer) .frame .composer .composer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-height: 28px;
  margin: 0;
  padding-top: 6px;
  gap: 8px;
}
/* Flatten the existing group toolbar so its voice draft gets its own top row. */
body:not(.delivery-viewer) .frame.group-frame .composer .composer-box {
  grid-template-columns: auto auto auto auto minmax(0, 1fr) auto;
  column-gap: 5px;
}
body:not(.delivery-viewer) .frame.group-frame .composer .group-compose-tools,
body:not(.delivery-viewer) .frame.group-frame .composer .group-compose-tools > .hh-attachments {
  display: contents;
}
body:not(.delivery-viewer) .frame.group-frame .composer .group-compose-tools > :is(button, #recipient-preview),
body:not(.delivery-viewer) .frame.group-frame .composer .group-compose-tools .hh-attachment-toolbar {
  grid-row: tools-start;
  align-self: center;
  margin: 0;
}
body:not(.delivery-viewer) .frame.group-frame .composer .group-compose-tools > .hh-emoji-toggle { grid-column: 1; }
body:not(.delivery-viewer) .frame.group-frame .composer #group-attach { grid-column: 2; }
body:not(.delivery-viewer) .frame.group-frame .composer .group-compose-tools .hh-attachment-toolbar { grid-column: 3; }
body:not(.delivery-viewer) .frame.group-frame .composer #recipient-preview { grid-column: 5; }
body:not(.delivery-viewer) .frame.group-frame .composer .composer-box #send-button { grid-column: 6; }
@media (max-width: 760px) {
  body:not(.delivery-viewer) .frame .composer {
    --wechat-input-min: 86px;
    --wechat-input-max: min(160px, 26dvh);
    --wechat-tools-height: 34px;
    padding-block: 7px max(8px, env(safe-area-inset-bottom));
  }
  body:not(.delivery-viewer) .frame .composer .composer-box { column-gap: 7px; }
  body:not(.delivery-viewer) .frame .composer .composer-box #chat-input { font-size: 16px; line-height: 24px; }
  body:not(.delivery-viewer) .frame .composer .composer-box #send-button { min-width: 38px; width: 38px; padding: 7px; }
  body:not(.delivery-viewer) .frame .composer .composer-footer { padding-top: 4px; gap: 5px; }
  body:not(.delivery-viewer) .frame.group-frame .composer .composer-box { column-gap: 3px; }
}
@media (max-height: 520px) {
  body:not(.delivery-viewer) .frame .composer {
    --wechat-input-min: 42px;
    --wechat-input-max: max(42px, min(80px, 16dvh));
    --wechat-tools-height: 30px;
    padding-block: 5px max(5px, env(safe-area-inset-bottom));
  }
  body:not(.delivery-viewer) .frame .composer .composer-box { row-gap: 3px; }
  body:not(.delivery-viewer) .frame .composer .composer-box .hh-attachment-drafts:not(:empty) { max-height: min(48px, 12dvh); }
  body:not(.delivery-viewer) .frame .composer .composer-footer { padding-top: 3px; }
}

/* Keep execution entry and send guidance in the existing tool row. */
body:not(.delivery-viewer) .frame:not(.group-frame) .composer .composer-box {
  grid-template-columns: minmax(0,1fr) auto auto;
}
body:not(.delivery-viewer) .frame:not(.group-frame) .composer .composer-box #send-button { grid-column:3; }
body:not(.delivery-viewer) .frame:not(.group-frame) .composer .hh-attachment-toolbar {
  justify-self:stretch;
}
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar .agent-controls {
  display:flex;align-items:center;gap:6px;min-width:0;min-height:0;margin:0 0 0 7px;padding:0;border:0;background:transparent;flex:0 1 auto;
}
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar .agent-controls[hidden] { display:none; }
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar .agent-controls .memory-button { display:none; }
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar #executor-context { flex:none;white-space:nowrap; }
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar #executor-control {
  max-width:340px;min-width:0;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px 6px;
}
body:not(.delivery-viewer) .frame .composer .composer-box > #composer-note {
  grid-row:tools-start;grid-column:2;align-self:center;margin:0;padding:0;font-size:10px;color:var(--muted,#8b9095);white-space:nowrap;line-height:1.4;
}
body:not(.delivery-viewer) .frame.group-frame .composer .composer-box > #composer-note { grid-column:5;justify-self:end; }
body:not(.delivery-viewer) .frame .composer .composer-footer:has(> #dispatch-button[hidden]):not(:has(.agent-controls)) { display:none; }
@media(max-width:1000px){
  body:not(.delivery-viewer) .frame .composer .composer-box > #composer-note { display:none; }
}
@media(max-width:760px){
  body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar #executor-context { display:none; }
  body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar #executor-control { max-width:min(340px,calc(100vw - 190px));font-size:11px; }
  body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar .agent-controls { margin-left:3px;gap:3px; }
}
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar .agent-controls button::before { display:none; }
body:not(.delivery-viewer) .frame .composer .hh-attachment-toolbar #executor-control { display:block; }
