/* forge — стили для CodeMirror 6 в форме (component <code_editor>).
 * Бандл cm6 (esbuild) кладёт <div class="codemirror">.cm-editor рядом с
 * скрытой textarea. Базовые стили под нашу палитру; oneDark/light переключается
 * автоматически (через data-cm-dark в JS-инициализаторе по html.light).
 */

.ds-field--code .codemirror {
    border-radius: var(--ds-radius);
    overflow: hidden;
}

.ds-field--code .cm-editor {
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius);
    font-family: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, monospace;
    font-size: 13px;
    line-height: 1.55;
    /* Высота задаётся числом строк: переопредели --cm-min-rows на поле
       (напр. style="--cm-min-rows:3" для компактного редактора).
       12 строк ≈ прежние 240px; 1.55 — это line-height выше. */
    min-height: calc(var(--cm-min-rows, 12) * 1.55em);
    max-height: 600px;
}

.ds-field--code .cm-editor.cm-focused {
    border-color: var(--ds-info);
    outline: none;
}

.ds-field--code .cm-scroller {
    overflow: auto;
}

/* gutter — нумерация строк, под нашу палитру (для светлой темы; dark задаёт сам oneDark) */
html.light .ds-field--code .cm-gutters {
    background: transparent;
    color: var(--ds-dim);
    border-right: 1px solid var(--ds-line);
}
