/* Ei Theme Core Markdown presentation.
 * This is the single shared Markdown visual layer for Ei modules. Consumers should
 * wrap rendered content in .ei-theme-core-markdown and provide semantic Ei variables
 * when they own a custom surface. */
.ei-theme-core-markdown {
  --ei-md-accent: var(--ei-academy-accent, var(--ei-accent, var(--da2-accent, #24894f)));
  --ei-md-text: var(--ei-academy-text, var(--ei-text, var(--da2-text, #202124)));
  --ei-md-muted: var(--ei-academy-muted, var(--ei-muted, var(--da2-muted, #687078)));
  --ei-md-soft: var(--ei-academy-soft, var(--ei-muted, var(--da2-muted, #687078)));
  --ei-md-line: var(--ei-academy-line, var(--ei-border, var(--da2-border, #d9dde2)));
  --ei-md-surface: var(--ei-academy-card, var(--ei-surface, var(--da2-surface, #f7f8f9)));
  --ei-md-mono: var(--ei-mono, var(--da2-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace));
  color: var(--ei-md-text);
  overflow-wrap: anywhere;
}
.ei-theme-core-markdown > :first-child { margin-top: 0; }
.ei-theme-core-markdown > :last-child { margin-bottom: 0; }
.ei-theme-core-markdown p { margin: 0 0 1.3em; color: var(--ei-md-soft); }
.ei-theme-core-markdown :is(h1,h2,h3,h4,h5,h6) { color: var(--ei-md-text); letter-spacing: -.02em; }
.ei-theme-core-markdown h1 { margin: 1.9em 0 .7em; font-size: 1.9em; line-height: 1.25; }
.ei-theme-core-markdown h2 { margin: 2.15em 0 .75em; font-size: 1.55em; line-height: 1.35; }
.ei-theme-core-markdown h3 { margin: 1.8em 0 .65em; font-size: 1.25em; line-height: 1.4; }
.ei-theme-core-markdown h4 { margin: 1.5em 0 .55em; font-size: 1.08em; }
.ei-theme-core-markdown :is(h5,h6) { margin: 1.35em 0 .5em; font-size: 1em; }
.ei-theme-core-markdown :is(ul,ol) { margin: 0 0 1.4em; padding-inline-start: 1.5em; color: var(--ei-md-soft); }
.ei-theme-core-markdown li + li { margin-top: .28em; }
.ei-theme-core-markdown blockquote {
  margin: 1.7em 0;
  padding: .62em 1em .62em 1.05em;
  border: 0;
  border-left: 4px solid var(--ei-md-accent);
  border-radius: 0 8px 8px 0;
  background: color-mix(in srgb, var(--ei-md-accent) 8%, var(--ei-md-surface));
  color: var(--ei-md-soft);
}
.ei-theme-core-markdown blockquote > :first-child { margin-top: 0; }
.ei-theme-core-markdown blockquote > :last-child { margin-bottom: 0; }
.ei-theme-core-markdown blockquote blockquote { margin: .8em 0 .2em; background: transparent; }
.ei-theme-core-markdown a { color: var(--ei-md-accent); text-underline-offset: .16em; }
.ei-theme-core-markdown code {
  font-family: var(--ei-md-mono);
  background: color-mix(in srgb, var(--ei-md-text) 7%, transparent);
  border: 1px solid var(--ei-md-line);
  border-radius: 4px;
  padding: .08em .35em;
  color: var(--ei-md-text);
  font-size: .9em;
}
.ei-theme-core-markdown pre {
  max-width: 100%;
  margin: 1.45em 0;
  overflow-x: auto;
  border: 1px solid var(--ei-md-line);
  border-radius: 7px;
  background: color-mix(in srgb, var(--ei-md-text) 4%, var(--ei-md-surface));
  padding: 14px 16px;
  color: var(--ei-md-text);
  line-height: 1.55;
  -webkit-overflow-scrolling: touch;
}
.ei-theme-core-markdown pre code { border: 0; background: transparent; padding: 0; color: inherit; }
.ei-theme-core-markdown hr { border: 0; border-top: 1px solid var(--ei-md-line); margin: 2.4em 0; }
.ei-theme-core-markdown .ei-md-table-wrap { width: 100%; max-width: 100%; margin: 1.5em 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ei-theme-core-markdown table { border-collapse: collapse; width: 100%; margin: 0; font-size: .95em; color: var(--ei-md-soft); }
.ei-theme-core-markdown :is(th,td) { min-width: 7em; border: 1px solid var(--ei-md-line); padding: 8px 10px; text-align: left; vertical-align: top; }
.ei-theme-core-markdown th { background: color-mix(in srgb, var(--ei-md-accent) 8%, var(--ei-md-surface)); color: var(--ei-md-text); }
.ei-theme-core-markdown :is(img,video) { max-width: 100%; height: auto; }
.ei-theme-core-markdown figure { margin: 1.8em 0; }
.ei-theme-core-markdown figcaption { color: var(--ei-md-muted); font-size: .82em; text-align: center; }
.ei-theme-core-markdown del { opacity: .72; }
.ei-theme-core-markdown .ei-md-task { display: inline-block; min-width: 1.35em; color: var(--ei-md-accent); }
.ei-theme-core-markdown .ei-md-footnote-ref { font-size: .75em; vertical-align: super; }
.ei-theme-core-markdown .ei-md-footnotes { margin-top: 2.5em; padding-top: 1em; border-top: 1px solid var(--ei-md-line); color: var(--ei-md-muted); font-size: .9em; }
.ei-theme-core-markdown .ei-md-footnotes ol { margin-bottom: 0; }
.ei-theme-core-markdown .ei-md-footnotes p { display: inline; color: inherit; }
.ei-theme-core-markdown .ei-md-footnote-back { margin-inline-start: .35em; text-decoration: none; }

/* Ei Markdown v1.0.0 parser compatibility. The parser now lives in Theme Core. */
.ei-theme-core-markdown .ei-md-footnotes,
.ei-md-content .ei-md-footnotes { margin-top: 2.5em; padding-top: 1em; border-top: 1px solid var(--ei-md-line, var(--ei-border, #d9dde2)); color: var(--ei-md-muted, var(--ei-muted, #687078)); font-size: .9em; }
.ei-theme-core-markdown .ei-md-footnotes__separator,
.ei-md-content .ei-md-footnotes__separator { display: none; }
.ei-theme-core-markdown .ei-md-footnote-ref a,
.ei-theme-core-markdown .ei-md-footnote-backref,
.ei-md-content .ei-md-footnote-ref a,
.ei-md-content .ei-md-footnote-backref { text-decoration: none; }
.ei-md-content { color: inherit; overflow-wrap: anywhere; }
.ei-md-content blockquote { margin: 1.7em 0; padding: .62em 1em .62em 1.05em; border: 0; border-left: 4px solid var(--ei-accent, var(--da2-accent, #24894f)); border-radius: 0 8px 8px 0; background: color-mix(in srgb, var(--ei-accent, var(--da2-accent, #24894f)) 8%, var(--ei-surface, var(--da2-surface, #f7f8f9))); opacity: 1; }
.ei-md-content .ei-md-table-wrap { max-width:100%; overflow:auto; margin:1.5em 0; }
.ei-md-content table { border-collapse:collapse; width:100%; }
.ei-md-content th,.ei-md-content td { border:1px solid var(--ei-border, var(--da2-border, #d9dde2)); padding:.55em .7em; vertical-align:top; }
.ei-md-content pre { max-width:100%; overflow:auto; padding:1em; border:1px solid var(--ei-border, var(--da2-border, #d9dde2)); border-radius:var(--ei-radius,8px); background:var(--ei-surface-2,rgba(0,0,0,.08)); color:var(--ei-text,inherit); }
.ei-md-content code { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; }
.ei-md-content img { max-width:100%; height:auto; }
.ei-md-content>:first-child { margin-top:0; }
.ei-md-content>:last-child { margin-bottom:0; }
