.bot-workspace-page .source-editor {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  box-sizing: border-box;
  width: 100%;
  height: 100% !important;
  min-height: 0;
  margin: 0;
  padding: 10px;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable;
  background: transparent;
  color: transparent;
  caret-color: #fff;
  font: .72rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: normal;
  tab-size: 2;
  white-space: pre !important;
  pointer-events: auto;
  user-select: text;
}

.bot-workspace-page .source-editor::selection { background: rgba(105, 180, 130, .35); }
.bot-workspace-page .source-editor-shell.is-light { border-color: #dbe7de; background: #f8fbf8; }
.bot-workspace-page .source-editor-shell.is-light .source-code-layer { background: #f8fbf8; }
.bot-workspace-page .source-editor-shell.is-light .source-highlight { color: #26382d; background: #f8fbf8; }
.bot-workspace-page .source-editor-shell.is-light .source-editor { color: transparent; caret-color: #176f4f; }

.source-highlight .code-keyword { color: #74c9ff; }
.source-highlight .code-string { color: #ffd58a; }
.source-highlight .code-comment { color: #91b99c; }
.source-highlight .code-number { color: #dfb2ff; }
.source-editor-shell.is-light .source-highlight .code-keyword { color: #1261a0; }
.source-editor-shell.is-light .source-highlight .code-string { color: #9b5410; }
.source-editor-shell.is-light .source-highlight .code-comment { color: #557d60; }
.source-editor-shell.is-light .source-highlight .code-number { color: #7542a8; }

.bot-workspace-page .source-editor-shell:not(.is-light) .source-line-numbers { border-color: #26392d; background: #16251c; color: #87a392; }
.bot-workspace-page .source-editor-shell.is-light .source-line-numbers { background: #eef5ef; color: #718278; }
.bot-workspace-page .source-editor-shell:not(.is-light) .source-editor { caret-color: #baf3c5; }
.bot-workspace-page .editor-footer { flex-wrap: wrap; }
.bot-workspace-page #source-syntax-status.is-invalid { color: #b42318; font-weight: 700; }
.bot-workspace-page #source-syntax-status.is-valid { color: #176f4f; }

.bot-workspace-page .bot-editor-panel.is-expanded { position: fixed; inset: 18px; z-index: 50; padding: 16px; border: 1px solid #dfe8e1; border-radius: 10px; background: #fff; box-shadow: 0 20px 60px rgba(15, 35, 24, .25); }
.bot-workspace-page .bot-editor-panel.is-expanded .source-code-layer { height: calc(100dvh - 170px); }
.bot-workspace-page .bot-editor-panel.is-expanded .source-editor { height: 100% !important; }
.bot-workspace-page .bot-editor-panel.is-expanded #source-expand { background: #176f4f; color: #fff; }
.bot-workspace-page .source-editor-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  border-radius: 0;
}
.bot-workspace-page .source-code-layer { grid-column: 1; grid-row: 1; min-width: 0; min-height: 0; }
.bot-workspace-page .source-editor { min-height: 340px; height: calc(100dvh - 365px); padding: 10px; border-radius: 0; font-size: .72rem; line-height: 1.5; }
.bot-workspace-page .source-line-numbers { padding: 10px 7px; font: .72rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.bot-workspace-page .editor-footer { margin: 0; padding: 5px 8px; border: 1px solid #e1e7e2; border-top: 0; border-radius: 0 0 7px 7px; }
.bot-workspace-page .editor-footer .field-help,
.bot-workspace-page .editor-sandbox { font-size: .62rem; }
.bot-workspace-page .source-editor-actions { display: none; }
