// Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

pre code {
  white-space: pre;
  word-wrap: initial;
  font-size: 100%
}

pre {
  border: 1px solid #ddd;
  background-color: #eee;
  font-size: 14px;

  @media(max-width: 840px) {
    margin: 16px 0;
  }
}

code {
  font-family: 'Roboto Mono', Menlo, monospace;
  color: inherit;
  padding: 0.2em 0.4em;
  font-size: 85%;
  background-color: rgba(27, 31, 35, 0.05);
  border-radius: 3px;
}

// Syntax highlighting, for highlightjs rendered code:

.hljs-string, .hljs-doctag {
  color: var(--main-string-color);
}

.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr {
  color: var(--main-var-color);
}

.hljs-comment, .hljs-quote {
  color: var(--main-comment-color);
  font-style: italic;
}

.hljs-title, .hljs-section, .hljs-selector-id {
  color: var(--main-section-color);
  font-weight: bold;
}

.hljs-tag, .hljs-name, .hljs-attribute {
  color: var(--main-tag-color);
  font-weight: normal;
}

.hljs-keyword, .hljs-selector-tag, .hljs-subst {
  color: var(--main-keyword-color);
  font-weight: bold;
}

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  color: var(--main-text-color);
  background: var(--main-code-bg);
}
