.babel {
  display: flex;
  flex-direction: column;
  min-height: 15rem;
  padding: 0.6em 0.75em;
  border: 2px inset var(--babel-border, var(--shell-border));
  background: var(--babel-bg, var(--shell-bg));
  color: var(--babel-text, var(--shell-text));
  font-family: var(--font-mono);
  font-size: 0.72rem;
  line-height: 1.45;
}
.babel-address {
  margin: 0 0 0.6em;
  color: var(--babel-dim, var(--shell-dim));
  word-break: break-all;
}
.babel-page {
  flex: 1 1 auto;
  max-height: 17rem;
  margin: 0;
  overflow-y: auto;
  font: inherit;
  white-space: pre-wrap;
  word-break: break-all;
}
.babel-page mark {
  background: var(--accent-soft);
  color: inherit;
  outline: 1px solid var(--accent);
}
.babel-controls {
  display: flex;
  gap: 0.5em;
  margin: 0.6em 0 0;
}
.babel-controls input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 0.3em;
  border: 1px solid var(--babel-dim, var(--shell-dim));
  background: transparent;
  color: inherit;
  font: inherit;
}
.babel-controls button {
  padding: 0 0.5em;
  border: 1px solid var(--babel-dim, var(--shell-dim));
  background: transparent;
  color: inherit;
  font: inherit;
}
.babel-controls button:hover { border-color: var(--babel-text, var(--shell-text)); }
.babel-static { margin: 0; white-space: pre-wrap; }
