/* Inline projection of sent user text: plain runs and reference chips flow in
   the consumer's own line box (bubble or queue row); nothing here is block.
   White-space policy stays with the consumer: the bubble wraps with pre-wrap,
   the queue preview keeps its single nowrap/ellipsis line. */

.plainRun {
  font-size: inherit;
  line-height: inherit;
}

.refChip {
  /* Plain inline, NOT inline-flex: a flex container takes its baseline from
     its first flex item — the icon svg, which has no text baseline — so the
     chip's label rode ~3px above the surrounding text in both surfaces. An
     inline chip shares the consumer's baseline by construction. */
  display: inline;
  margin: 0 2px;
  color: var(--dsw-alias-state-business-primary);
  font-weight: 500;
  white-space: nowrap;
}

/* Skill and command tokens read as code: the theme's code family at the
   consumer's own size and line height, so the chip sits on the bubble line
   like the plain runs around it. `@` chips keep the body face — a file or
   session name is a label, not code. */
.slashChip {
  font-family: var(--dsw-font-markdown-code-font-family);
}

/* Inline reference glyphs (always ReferenceIcon svgs) ride the consumer's own
   font: 1em keeps the glyph at the text's size in the bubble (14px + user
   setting), the queue preview's fixed 13px line, and any future consumer — a
   px+delta size followed only the bubble axis and left the glyph oversized in
   the queue row. */
.refIcon {
  width: 1em;
  height: 1em;
  margin-right: 4px;
  /* Optical centering against the text: drops the glyph below the baseline by
     a font-relative amount, so it holds across the font axis. */
  vertical-align: -0.125em;
}
