@layer overscan {
ov-cli {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-block-size: 0;
  font-family: var(--ov-font-mono);
  font-size: var(--ov-size-2);
  color: var(--ov-ink);
  cursor: text;
}
.ov-cli__out {
  flex: 1 1 auto;
  min-block-size: 0;
  overflow: auto;
  padding-block-end: max(0px, calc(-1 * var(--ov-text-mark-drop, 0px)));
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ov-cli__row { white-space: pre; inline-size: max-content; }
.ov-cli__row.is-echo { color: var(--ov-dim); }
.ov-cli__row.is-dim { color: var(--ov-faint); }
.ov-cli__row.is-bad { color: var(--ov-alarm); }
.ov-cli__line { display: flex; align-items: baseline; gap: 8px; }
.ov-cli__prompt { color: var(--ov-accent); flex: 0 0 auto; }
.ov-cli__input {
  flex: 1 1 auto;
  min-inline-size: 0;
  font: inherit;
  letter-spacing: inherit;
  color: var(--ov-ink);
  background: none;
  border: 0;
  padding: 0;
  caret-color: var(--ov-accent);
}
.ov-cli__input:focus { outline: none; }
ov-cli:focus-within .ov-cli__line {
  outline: 2px solid var(--ov-accent);
  outline-offset: 2px;
}
}
