.code-editor-shell {
  position: relative;
  flex: 1;
  min-height: 280px;
  background: #111827;
  overflow: hidden;
}

.file-editor-highlight,
.file-editor-area {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  border-radius: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  overflow: auto;
  tab-size: 2;
}

.file-editor-highlight {
  pointer-events: none;
  color: #d4d4d4;
  background: transparent;
}

.file-editor-area {
  z-index: 1;
  min-height: 0;
  background: transparent;
  color: transparent;
  caret-color: #f8fafc;
  outline: none;
  resize: none;
  -webkit-text-fill-color: transparent;
}

.file-editor-area:disabled {
  color: var(--text-muted);
  -webkit-text-fill-color: var(--text-muted);
  background: var(--surface-2);
}

.file-editor-area::selection {
  background: rgba(96, 165, 250, 0.35);
  color: transparent;
}

.file-editor-highlight .tok-comment { color: #6a9955; }
.file-editor-highlight .tok-key { color: #9cdcfe; }
.file-editor-highlight .tok-string { color: #ce9178; }
.file-editor-highlight .tok-number { color: #b5cea8; }
.file-editor-highlight .tok-bool { color: #569cd6; }
.file-editor-highlight .tok-null { color: #569cd6; }
.file-editor-highlight .tok-placeholder { color: #c586c0; font-weight: 700; }
.file-editor-highlight .tok-heading { color: #4fc1ff; font-weight: 700; }
.file-editor-highlight .tok-bold { color: #dcdcaa; font-weight: 700; }
.file-editor-highlight .tok-code { color: #d7ba7d; }
.file-editor-highlight .tok-bullet { color: #c586c0; }
.file-editor-highlight .tok-tool { color: #4ec9b0; font-weight: 700; }
.file-editor-highlight .tok-tag { color: #569cd6; }
.file-editor-highlight .tok-attr { color: #9cdcfe; }
