.host {
  flex: 1;
  min-height: 0;
  margin-right: var(--scrollbar-edge-inset);
  overflow: hidden;
  display: flex;
}

.host > :global(section) {
  flex: 1;
  min-height: 0;
}

/* Monaco renders into a nested div with class .monaco-editor; ensure it
 * fills the host without imposing its own height calculation that would
 * race the surrounding flex layout. */
.host :global(.monaco-editor) {
  width: 100%;
}

/* Monaco's slider is colored via the theme's `scrollbarSlider.background`
 * token (see monacoTheme.ts) but Monaco's theme schema has no
 * `borderRadius` for the slider — it ships rectangular. xterm and the
 * chat OverlayScrollbar both round the thumb with `var(--radius-sm)`,
 * so we round Monaco's here for visual parity across the three
 * surfaces. The `:global(.scrollbar > .slider)` selector targets the
 * pair Monaco renders internally; `!important` is required because
 * Monaco re-applies its own inline width/height/transform on every
 * scroll tick, and CSS modules don't reach inside the editor without
 * `:global`. Targeting the `.scrollbar` parent additionally rounds the
 * track corners so the thumb sits flush with the rail at scroll
 * extremes. */
.host :global(.monaco-scrollable-element > .scrollbar > .slider) {
  border-radius: var(--radius-sm) !important;
}

.host :global(.claudette-reveal-line) {
  background: rgba(var(--accent-primary-rgb), 0.16);
}

/* Git gutter — colored bars in Monaco's line-numbers gutter. Decorations
   are applied via `linesDecorationsClassName`; Monaco renders the class
   on a thin strip immediately right of the line numbers. */
.gitGutterAdd {
  background: var(--diff-added-text);
  width: 3px !important;
  margin-left: 3px;
}

.gitGutterModify {
  background: var(--git-gutter-modified);
  width: 3px !important;
  margin-left: 3px;
}

/* delete-above: a small downward-pointing red triangle in the gutter on
   the line where the deletion landed. We render it via ::before so the
   line itself stays clean. */
.gitGutterDeleteAbove::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 0;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid var(--diff-removed-text);
}
