/* HQ Ace code runner — host div becomes .ace_editor after ace.edit() */
.hq-code-editor,
.hq-code-editor.ace_editor {
  width: 100%;
  height: 50vh;
  min-height: 50vh;
  border: 1px solid hsl(var(--input));
  border-radius: var(--radius);
  overflow: hidden;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.hq-code-editor .ace_gutter {
  background: hsl(var(--muted) / 0.45);
}

.dark .hq-code-editor {
  border-color: hsl(var(--border));
}

.hq-code-runner-result {
  overflow-x: auto;
  white-space: pre;
  tab-size: 4;
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
  padding: 0.75rem 1rem;
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  background-color: hsl(var(--card));
  max-height: 60vh;
  overflow-y: auto;
}

.hq-code-runner-result.is-loading {
  opacity: 0.6;
}
