/* ── EDITOR.CSS ── */
.editor-wrapper {
  flex: 1;
  display: flex;
  overflow: hidden;
  background: var(--bg-base);
  min-height: 0;
}

.line-numbers {
  width: 46px;
  background: var(--bg-panel);
  border-right: 1px solid var(--border);
  padding: 14px 0;
  overflow: hidden;
  flex-shrink: 0;
  user-select: none;
}

.line-num {
  height: 22px;
  line-height: 22px;
  text-align: right;
  padding-right: 10px;
  font-size: 12px;
  font-family: 'JetBrains Mono', monospace;
  color: var(--line-num);
  transition: color 0.1s;
}

.line-num.active-line { color: var(--text-secondary); }

.editor-container {
  flex: 1;
  position: relative;
  overflow: auto;
}

.code-editor {
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: var(--text-primary);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  line-height: 22px;
  padding: 14px 18px;
  caret-color: var(--accent);
  white-space: pre;
  overflow-wrap: normal;
  overflow-x: auto;
  tab-size: 2;
  -webkit-font-smoothing: antialiased;
}

.code-editor::selection { background: rgba(0,212,255,0.2); }
.code-editor::placeholder { color: var(--text-muted); font-style: italic; }

.terminal {
  flex: 1;
  overflow-y: auto;
  padding: 10px 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  min-height: 0;
}

.term-line {
  line-height: 20px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.term-prefix { color: var(--text-muted); flex-shrink: 0; }
.term-text { color: var(--text-secondary); word-break: break-all; }
.term-text.success { color: var(--green); }
.term-text.error { color: var(--red); }
.term-text.warn { color: var(--orange); }
.term-text.info { color: var(--accent); }
