.plainPre {
  color: rgb(248, 248, 242);
  background-color: rgb(40, 42, 54);
  overflow: auto;
  padding: 1em;
}

.codeBlock {
  border-radius: 5px;
  margin: 0;
  padding: 0;
  background: #eee;
  position: relative;
}

.codeBlockLang {
  position: absolute;
  top: 0;
  right: 0;
  width: min-content;
  height: min-content;
  background: rgba(0,0,0,0.5);
  color: white;
  padding: 1em;
}

.codeBlockPre {
  overflow: auto;
  padding: 1em 0;
  :global(.token-line) {
    padding: 0 1em;
    border-left: 6px solid transparent;
  }
  :global(.hilite-line) {
    border-left-color: fuchsia;
    background: linear-gradient(90deg, rgba(0,255,255,0.35477941176470584) 0%, rgba(0,255,255,0.1699054621848739) 40%, rgba(2,0,36,0) 100%);
    background: rgba(255,0,255, 0.1);
  }
}

.codeBlockContent {
  position: relative;
  direction: ltr;
}

.codeBlockTitle {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
  font-size: var(--ifm-code-font-size);
  font-weight: 500;
  padding: 0.75rem var(--ifm-pre-padding);
}

.codeBlockWithTitle {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.copyButton {
  background: rgba(0, 0, 0, 0.3);
  border: none;
  border-radius: 5px;
  color: var(--ifm-color-white);
  cursor: pointer;
  opacity: 0;
  user-select: none;
  padding: 0.4rem 0.5rem;
  position: absolute;
  right: calc(var(--ifm-pre-padding) / 2);
  top: calc(var(--ifm-pre-padding) / 2);
  transition: opacity 200ms ease-in-out;
}

.codeBlockTitle:hover + .codeBlockContent .copyButton,
.codeBlockContent:hover > .copyButton,
.copyButton:focus {
  opacity: 1;
}

.codeBlockLines {
  font: var(--ifm-code-font-size) / var(--ifm-pre-line-height)
    var(--ifm-font-family-monospace);
  white-space: pre;
  float: left;
  min-width: 100%;
  padding: var(--ifm-pre-padding);
}

@media print {
  .codeBlockLines {
    white-space: pre-wrap;
  }
}
