/*
 * Generated by Claude
 * Docusaurus-like (Infima) layout for Markdown-generated HTML.
 * Spacing, sizes, borders and radii only: no font families, no theme colors.
 * Values are approximations of Infima's defaults.
 */

.mg-markdown {
  --mg-leading: 1.25rem;          /* paragraph/block bottom margin */
  --mg-spacing: 1rem;
  --mg-radius: 0.4rem;
  --mg-border: rgba(127, 127, 127, 0.35);
  --mg-subtle-bg: rgba(127, 127, 127, 0.08);

  font-size: 1rem;
  line-height: 1.65;
  overflow-wrap: break-word;
  width: 100%;
}

/* ---------- Block spacing ---------- */
.mg-markdown > *:first-child { margin-top: 0; }
.mg-markdown > *:last-child  { margin-bottom: 0; }

.mg-markdown p,
.mg-markdown ul,
.mg-markdown ol,
.mg-markdown blockquote,
.mg-markdown pre,
.mg-markdown table,
.mg-markdown dl,
.mg-markdown .mg-code {
  margin: 0 0 var(--mg-leading);
}

/* ---------- Headings ---------- */
.mg-markdown h1,
.mg-markdown h2,
.mg-markdown h3,
.mg-markdown h4,
.mg-markdown h5,
.mg-markdown h6 {
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 var(--mg-spacing);
}

.mg-markdown h1 { font-size: 3rem; margin-bottom: calc(var(--mg-leading) * 1.25); }
.mg-markdown h2 { font-size: 2rem;    margin: calc(var(--mg-leading) * 2.5) 0 calc(var(--mg-leading) * 1.25); }
.mg-markdown h3 { font-size: 1.75rem;  margin: calc(var(--mg-leading) * 2) 0 calc(var(--mg-leading) * 1.25); }
.mg-markdown h4 { font-size: 1.5rem; margin: calc(var(--mg-leading) * 1.5) 0 var(--mg-leading); }
.mg-markdown h5 { font-size: 1.25rem;    margin: var(--mg-leading) 0 var(--mg-spacing); }
.mg-markdown h6 { font-size: 1rem; margin: var(--mg-leading) 0 var(--mg-spacing); }

/* No extra top margin on a heading that opens the container */
.mg-markdown > h1:first-child,
.mg-markdown > h2:first-child,
.mg-markdown > h3:first-child,
.mg-markdown > h4:first-child,
.mg-markdown > h5:first-child,
.mg-markdown > h6:first-child {
  margin-top: 0;
}

/* ---------- Links ---------- */
.mg-markdown a {
  text-decoration: none;
}
.mg-markdown a:not(.mg-header-link) {
  color: #002fbd;
}
.mg-markdown a:hover { text-decoration: underline; }

/* ---------- Lists ---------- */
.mg-markdown ul,
.mg-markdown ol {
  padding-left: 2rem;
}

.mg-markdown li > p { margin-bottom: 0.5rem; }
.mg-markdown li + li { margin-top: 0.25rem; }

/* Nested lists */
.mg-markdown ul ul,
.mg-markdown ul ol,
.mg-markdown ol ul,
.mg-markdown ol ol {
  margin-top: 0.25rem;
  margin-bottom: 0;
}

.mg-markdown li > p:last-child { margin-bottom: 0; }

/* ---------- Inline code ---------- */
.mg-markdown code {
  font-size: 90%;
  padding: 0.1rem 0.375rem;
  border: 0.1rem solid var(--mg-border);
  border-radius: var(--mg-radius);
  background-color: var(--mg-subtle-bg);
  vertical-align: middle;
}

/* ---------- Code blocks ---------- */
/*.mg-markdown pre {
  padding: var(--mg-spacing);
  border-radius: var(--mg-radius);
  background-color: var(--mg-subtle-bg);
  font-size: 90%;
  line-height: 1.45;
  overflow: auto;
  tab-size: 2;
}

.mg-markdown pre code {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-size: inherit;
  line-height: inherit;
  vertical-align: baseline;
}*/

/*.mg-markdown .mg-code {
  padding: var(--mg-spacing);
  border-radius: var(--mg-radius);
  background-color: var(--mg-subtle-bg);
  font-size: 90%;
  line-height: 1.45;
  overflow: auto;
  tab-size: 2;
}*/

/* ---------- Blockquotes ---------- */
.mg-markdown blockquote {
  padding: 0 var(--mg-spacing);
  border-left: 0.3rem solid var(--mg-border);
  border-radius: 0;
  font-size: 1rem;
}

.mg-markdown blockquote > :last-child { margin-bottom: 0; }

/* ---------- Tables ---------- */
.mg-markdown table {
  display: block;            /* lets wide tables scroll horizontally */
  width: max-content;
  max-width: 100%;
  overflow: auto;
  border-collapse: collapse;
  border-spacing: 0;
}

.mg-markdown th,
.mg-markdown td {
  padding: 0.75rem;
  border: 1px solid var(--mg-border);
}

.mg-markdown th {
  font-weight: 700;
  background-color: var(--mg-subtle-bg);
}

.mg-markdown tr:nth-child(2n) {
  background-color: var(--mg-subtle-bg);
}

/* ---------- Horizontal rule ---------- */
.mg-markdown hr {
  height: 0.1rem;
  margin: 1.5rem 0;
  padding: 0;
  border: 0;
  background-color: var(--mg-border);
}

/* ---------- Media ---------- */
.mg-markdown img,
.mg-markdown video {
  max-width: 100%;
  height: auto;
}

.mg-markdown img { vertical-align: middle; }

/* ---------- Misc ---------- */
.mg-markdown strong { font-weight: 700; }

.mg-markdown kbd {
  padding: 0.1rem 0.4rem;
  border: 1px solid var(--mg-border);
  border-radius: 0.25rem;
  font-size: 85%;
}

.mg-markdown details {
  margin: 0 0 var(--mg-leading);
}

.mg-markdown summary { cursor: pointer; }

/* Footnotes (from Markdown.jl) */
.mg-markdown .footnote {
  font-size: 0.875rem;
}

.mg-markdown a.anchor {
  position: absolute;
}
