/* Rendered README on the project explorer. The markup is GitHub's own
   render (see server.py:_render_readme), so the selectors follow its
   structure; type and colour come from the site theme. */

.panel.readme {
  padding: 0;
  overflow: hidden;
}

.readme-head {
  margin: 0;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight: 600;
}

.readme-body {
  padding: 22px 30px 30px;
  font-size: 15.5px;
  line-height: 1.75;
  color: var(--text);
  overflow-wrap: break-word;
}

/* GitHub wraps each heading in a .markdown-heading div, hence the nested rule */
.readme-body > div > :first-child,
.readme-body > div > :first-child > :first-child {
  margin-top: 0;
}

.readme-body > div > :last-child {
  margin-bottom: 0;
}

/* Headings */
.readme-body h1,
.readme-body h2,
.readme-body h3,
.readme-body h4,
.readme-body h5,
.readme-body h6 {
  margin: 1.5em 0 0.6em;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
}

.readme-body h1 { font-size: 2.1em; }
.readme-body h2 { font-size: 1.7em; }
.readme-body h3 { font-size: 1.4em; }
.readme-body h4 { font-size: 1.2em; }
.readme-body h5,
.readme-body h6 { font-size: 1.05em; }

.readme-body h1,
.readme-body h2 {
  padding-bottom: 0.25em;
  border-bottom: 1px solid var(--line);
}

/* GitHub puts the heading's id on an empty permalink <a> after it; keep it
   as an invisible jump target for in-README links */
.readme-body .anchor {
  display: block;
  height: 0;
  overflow: hidden;
  scroll-margin-top: 5.5rem;
}

/* Text */
.readme-body p,
.readme-body ul,
.readme-body ol,
.readme-body dl,
.readme-body blockquote,
.readme-body pre,
.readme-body table,
.readme-body details {
  margin: 0 0 1em;
}

.readme-body a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent);
  text-underline-offset: 3px;
}

.readme-body a:hover {
  text-decoration-color: currentColor;
}

.readme-body strong {
  font-weight: 700;
}

.readme-body img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.readme-body hr {
  height: 1px;
  margin: 1.6em 0;
  border: 0;
  background: var(--line);
}

/* Lists */
.readme-body ul,
.readme-body ol {
  padding-left: 1.7em;
}

.readme-body li + li {
  margin-top: 0.25em;
}

.readme-body li > ul,
.readme-body li > ol {
  margin: 0.25em 0 0;
}

.readme-body .contains-task-list {
  list-style: none;
  padding-left: 0.4em;
}

.readme-body .task-list-item input {
  margin: 0 0.5em 0 0;
  accent-color: var(--accent);
}

.readme-body dt {
  font-weight: 700;
}

.readme-body dd {
  margin: 0 0 0.6em 1.2em;
}

/* Quotes and GitHub alert blocks */
.readme-body blockquote,
.readme-body .markdown-alert {
  padding: 0.1em 1em;
  border-left: 3px solid var(--line);
  color: var(--muted);
}

.readme-body blockquote > :last-child,
.readme-body .markdown-alert > :last-child {
  margin-bottom: 0;
}

.readme-body .markdown-alert {
  margin: 0 0 1em;
  color: var(--text);
}

.readme-body .markdown-alert-title {
  font-weight: 700;
}

.readme-body .markdown-alert-note      { border-left-color: #4493f8; }
.readme-body .markdown-alert-tip       { border-left-color: #3fb950; }
.readme-body .markdown-alert-important { border-left-color: #ab7df8; }
.readme-body .markdown-alert-warning   { border-left-color: #d29922; }
.readme-body .markdown-alert-caution   { border-left-color: #f85149; }

/* Code */
.readme-body code,
.readme-body pre,
.readme-body kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.readme-body code {
  padding: 0.15em 0.4em;
  border-radius: 6px;
  background: color-mix(in srgb, var(--text) 8%, transparent);
  font-size: 0.86em;
}

.readme-body pre {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--text) 5%, transparent);
  font-size: 13.5px;
  line-height: 1.55;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}

.readme-body pre code {
  padding: 0;
  background: none;
  font-size: inherit;
}

.readme-body kbd {
  padding: 0.1em 0.45em;
  border: 1px solid var(--line);
  border-bottom-width: 2px;
  border-radius: 6px;
  background: var(--bg);
  font-size: 0.82em;
}

/* Tables scroll sideways on their own instead of widening the page */
.readme-body table {
  display: block;
  width: max-content;
  max-width: 100%;
  border-collapse: collapse;
  overflow-x: auto;
  font-size: 0.94em;
}

.readme-body th,
.readme-body td {
  padding: 7px 13px;
  border: 1px solid var(--line);
}

.readme-body th {
  font-weight: 700;
  background: color-mix(in srgb, var(--text) 5%, transparent);
}

.readme-body tr:nth-child(even) td {
  background: color-mix(in srgb, var(--text) 3%, transparent);
}

/* Collapsible sections */
.readme-body summary {
  cursor: pointer;
}

.readme-body details[open] > summary {
  margin-bottom: 0.7em;
}

/* Syntax colours for GitHub's pl-* token classes */
.readme-body .pl-c                 { color: #6e7781; font-style: italic; }
.readme-body .pl-k                 { color: #cf222e; }
.readme-body .pl-s,
.readme-body .pl-pds,
.readme-body .pl-sr                { color: #0a3069; }
.readme-body .pl-c1,
.readme-body .pl-kos               { color: #0550ae; }
.readme-body .pl-en,
.readme-body .pl-e                 { color: #8250df; }
.readme-body .pl-v,
.readme-body .pl-smi               { color: #953800; }
.readme-body .pl-ent               { color: #116329; }

html[data-theme="dark"] .readme-body .pl-c    { color: #8b949e; }
html[data-theme="dark"] .readme-body .pl-k    { color: #ff7b72; }
html[data-theme="dark"] .readme-body .pl-s,
html[data-theme="dark"] .readme-body .pl-pds,
html[data-theme="dark"] .readme-body .pl-sr   { color: #a5d6ff; }
html[data-theme="dark"] .readme-body .pl-c1,
html[data-theme="dark"] .readme-body .pl-kos  { color: #79c0ff; }
html[data-theme="dark"] .readme-body .pl-en,
html[data-theme="dark"] .readme-body .pl-e    { color: #d2a8ff; }
html[data-theme="dark"] .readme-body .pl-v,
html[data-theme="dark"] .readme-body .pl-smi  { color: #ffa657; }
html[data-theme="dark"] .readme-body .pl-ent  { color: #7ee787; }

@media (max-width: 700px) {
  .readme-body {
    padding: 16px 16px 20px;
    font-size: 15px;
  }

  .readme-body h1 { font-size: 1.8em; }
  .readme-body h2 { font-size: 1.5em; }
}
