#root {
  padding: 24px;
  max-width: var(--max-page-width);
  margin-inline: auto;
}

.main {
  display: grid;
}

.editorContainer {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  padding: 8px 0;
}

.buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.buttons button {
  border: 1px solid var(--text-secondary-color);
  border-radius: 3px;
  padding: 4px 8px;
  color: var(--text-secondary-color);
}

.editorParent,
.editorConsole {
  background-color: var(--bg-secondary-color);
  border: 1px solid var(--bg-secondary-color);
  color: var(--text-color);
  border-radius: 3px;
  overflow: auto;
  position: relative;
  height: 350px;
}

.editorParent .cm-editor {
  height: 100%;
}

.cm-editor .cm-gutter {
  background-color: var(--bg-secondary-color);
  color: var(--text-color);
}

.cm-editor .cm-activeLineGutter,
.cm-editor .cm-activeLine,
.cm-editor .cm-selectionMatch {
  background-color: var(--bg-primary-color);
  color: var(--text-color);
}

.cm-editor .cm-selectionBackground,
.cm-editor ::selection {
  background: var(--bg-primary-color);
  background-color: var(--bg-primary-color) !important;
}

.cm-editor * {
  transition: none;
}

.editorConsole {
  color: var(--text-secondary-color);
  padding: 8px;
}

.lang-features {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}

.lang-features .feature {
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.code-block {
  border: 1px solid var(--bg-secondary-color);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
}

.code-block code {
  display: block;
  color: var(--text-link-color);
}

@media screen and (min-width: 768px) {
  .editorContainer {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }

  .editorParent,
  .editorConsole {
    height: 500px;
  }

  .lang-features {
    grid-template-columns: 1fr 1fr;
  }
}
