.msg-mind-trace {
  border-left: 2px solid oklch(var(--s) / 35%);
  padding: 0.25rem 0.7rem;
  font-size: 0.73rem;
  color: oklch(var(--bc) / 55%);
}

.mind-trace-body-inner {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mind-trace-preview {
  color: oklch(var(--bc) / 40%);
  font-style: italic;
  margin-bottom: 0.25rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.mind-trace-section {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.mind-trace-section-heading {
  font-weight: 600;
  color: oklch(var(--bc) / 65%);
  margin-bottom: 0.1rem;
}

.mind-trace-row {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0.05rem 0;
  font-variant-numeric: tabular-nums;
}

/* Seeded nodes — above the SEED_EPS gate */
.mind-trace-row-seed {
  color: oklch(var(--s) / 85%);
  font-weight: 500;
}

/* Injected nodes — passed the injection gate; the agent saw these (64.0 Phase 1) */
.mind-trace-row-injected {
  color: oklch(var(--p) / 95%);
  font-weight: 600;
}

/* Proposed write rows */
.mind-trace-row-write {
  color: oklch(var(--su) / 80%);
}

/* Validation issue rows */
.mind-trace-row-issue {
  color: oklch(var(--er) / 80%);
}

/* ── Inline SVG graph ────────────────────────────────────────────────────── */

/* Height is set inline by mind-trace.js so the viewBox stays 1:1 with rendered
   CSS pixels — that 1:1 mapping is what keeps node labels at true text size. */
.mind-trace-graph {
  display: block;
  width: 100%;
  margin-top: 0.6rem;
  border-top: 1px solid oklch(var(--bc) / 8%);
  padding-top: 0.4rem;
}

.mind-trace-graph-label {
  font-size: 11px;
  fill: oklch(var(--bc) / 78%);
  pointer-events: none;
}
