/* Align the sidebar edge one inner padding beyond the WORKBENCH subtitle. */
.sidebar {
  width: 225px;
  flex: 0 0 225px;
}
.sidebar .brand small { white-space: nowrap; }

/* Keep the existing font size; the button box is only half a character taller. */
.new-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.5em;
  min-height: 0;
  padding: 0 8px;
  line-height: 1;
  text-align: center;
}

/* The conversation column owns vertical scrolling, never page-wide horizontal scrolling. */
.conversation-panel { overflow-x: hidden; }
.messages { max-width: 100%; min-width: 0; }
.message, .bubble { min-width: 0; }
.bubble {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.message.user .bubble { white-space: pre-wrap; }

/* Wide structured content scrolls inside its own message, not across the chat page. */
.bubble .table-wrap,
.bubble .math-block,
.bubble .flowchart-rendered,
.bubble .media-scroll,
.bubble pre {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.bubble .math-block {
  white-space: nowrap;
  overflow-wrap: normal;
}
.bubble .math:not(.math-block) {
  display: inline-block;
  max-width: 100%;
  overflow-x: auto;
  white-space: nowrap;
  vertical-align: bottom;
}
.bubble .media-scroll > img,
.bubble .media-scroll > svg,
.bubble .media-scroll > canvas {
  display: block;
  max-width: none;
}
.bubble .flow-node { overflow-wrap: anywhere; }
