@charset "UTF-8";
/* --- Variant: default --- */
.aim-typography-root.default {
  /* Spacing — multipliers track the original rem values (1 == 1rem-equivalent). */
  --aim-spacing-xs: calc(var(--aim-font-size-root) * 0.625);
  --aim-spacing-sm: calc(var(--aim-font-size-root) * 0.75);
  --aim-spacing-md: calc(var(--aim-font-size-root) * 1);
  --aim-spacing-lg: calc(var(--aim-font-size-root) * 1.25);
  --aim-spacing-xl: calc(var(--aim-font-size-root) * 1.5);
  /* Font size — anchored to --aim-font-size-root so the fontSize prop scales everything. */
  --aim-font-size-xs: calc(var(--aim-font-size-root) * 0.75);
  --aim-font-size-sm: calc(var(--aim-font-size-root) * 0.875);
  --aim-font-size-md: var(--aim-font-size-root);
  --aim-font-size-lg: calc(var(--aim-font-size-root) * 1.125);
  --aim-font-size-xl: calc(var(--aim-font-size-root) * 1.25);
  /* Line height */
  --aim-line-height: 1.55;
  /* Radius */
  --aim-radius-sm: 0.25rem;
  /* Font weight — shared by headings and table headers. */
  --aim-font-weight-strong: 700;
  /* KaTeX — anchored to root so formula size stays absolute regardless of parent context. */
  --aim-katex-font-size: var(--aim-font-size-root);
  /* Font family */
  --aim-font-family-monospace:
    ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  --aim-font-family-headings: inherit;
  /* Heading sizes — multipliers mirror Mantine's heading scale (h1=2.125, h2=1.625…). */
  --aim-h1-font-size: calc(var(--aim-font-size-root) * 2.125);
  --aim-h1-line-height: 1.3;
  --aim-h1-font-weight: var(--aim-font-weight-strong);
  --aim-h2-font-size: calc(var(--aim-font-size-root) * 1.625);
  --aim-h2-line-height: 1.35;
  --aim-h2-font-weight: var(--aim-font-weight-strong);
  --aim-h3-font-size: calc(var(--aim-font-size-root) * 1.375);
  --aim-h3-line-height: 1.4;
  --aim-h3-font-weight: var(--aim-font-weight-strong);
  --aim-h4-font-size: calc(var(--aim-font-size-root) * 1.125);
  --aim-h4-line-height: 1.45;
  --aim-h4-font-weight: var(--aim-font-weight-strong);
  --aim-h5-font-size: var(--aim-font-size-root);
  --aim-h5-line-height: 1.5;
  --aim-h5-font-weight: var(--aim-font-weight-strong);
  --aim-h6-font-size: calc(var(--aim-font-size-root) * 0.875);
  --aim-h6-line-height: 1.5;
  --aim-h6-font-weight: var(--aim-font-weight-strong);
}

/* --- Color Scheme: light --- */
.aim-typography-root.light {
  --aim-color-text: inherit;
  --aim-color-dimmed: #868e96;
  --aim-color-anchor: #228be6;
  --aim-color-border: #dee2e6;
  --aim-color-code-bg: #f1f3f5;
  --aim-color-code-text: inherit;
  --aim-color-blockquote-bg: #f8f9fa;
  --aim-color-mark-bg: #fff3bf;
  --aim-color-mark-text: inherit;
}

/* --- Color Scheme: dark --- */
.aim-typography-root.dark {
  --aim-color-text: #c9d1d9;
  --aim-color-dimmed: #8b949e;
  --aim-color-anchor: #58a6ff;
  --aim-color-border: #30363d;
  --aim-color-code-bg: #161b22;
  --aim-color-code-text: #c9d1d9;
  --aim-color-blockquote-bg: #161b22;
  --aim-color-mark-bg: #bb800926;
  --aim-color-mark-text: inherit;
}

/* --- Base styles (consume variables only) --- */
.aim-typography-root {
  color: var(--aim-color-text);
  line-height: var(--aim-line-height);
}
.aim-typography-root :first-child {
  margin-top: 0;
}
.aim-typography-root :last-child {
  margin-bottom: 0;
}
.aim-typography-root {
  /* The streaming-cursor wrapper (a zero-height overlay) and the cursor's
     tail marker (a display:none signal span, streaming-only) may sit after
     the last content block; without this rule the real last block would
     regain its bottom margin while they are mounted and the container
     would visibly snap shorter when streaming ends. Kept as a SEPARATE
     ruleset on purpose: `:nth-child(… of …)` is Baseline 2023, and a
     comma-joined selector list is non-forgiving — engines without support
     would drop the plain `:last-child` trim along with it. */
}
.aim-typography-root :nth-last-child(1 of :not([data-aimd-streaming-cursor], [data-aimd-tail-kind])) {
  margin-bottom: 0;
}
.aim-typography-root {
  /* Headings */
}
.aim-typography-root :where(h1, h2, h3, h4, h5, h6) {
  margin-bottom: var(--aim-spacing-xs);
  font-family: var(--aim-font-family-headings);
}
.aim-typography-root :where(h1) {
  margin-top: calc(1.5 * var(--aim-spacing-xl));
  font-size: var(--aim-h1-font-size);
  line-height: var(--aim-h1-line-height);
  font-weight: var(--aim-h1-font-weight);
}
.aim-typography-root :where(h2) {
  margin-top: var(--aim-spacing-xl);
  font-size: var(--aim-h2-font-size);
  line-height: var(--aim-h2-line-height);
  font-weight: var(--aim-h2-font-weight);
}
.aim-typography-root :where(h3) {
  margin-top: calc(0.8 * var(--aim-spacing-xl));
  font-size: var(--aim-h3-font-size);
  line-height: var(--aim-h3-line-height);
  font-weight: var(--aim-h3-font-weight);
}
.aim-typography-root :where(h4) {
  margin-top: calc(0.8 * var(--aim-spacing-xl));
  font-size: var(--aim-h4-font-size);
  line-height: var(--aim-h4-line-height);
  font-weight: var(--aim-h4-font-weight);
}
.aim-typography-root :where(h5) {
  margin-top: calc(0.5 * var(--aim-spacing-xl));
  font-size: var(--aim-h5-font-size);
  line-height: var(--aim-h5-line-height);
  font-weight: var(--aim-h5-font-weight);
}
.aim-typography-root :where(h6) {
  margin-top: calc(0.5 * var(--aim-spacing-xl));
  font-size: var(--aim-h6-font-size);
  line-height: var(--aim-h6-line-height);
  font-weight: var(--aim-h6-font-weight);
}
.aim-typography-root {
  /* Paragraph */
}
.aim-typography-root :where(p) {
  margin-top: 0;
  margin-bottom: var(--aim-spacing-lg);
}
.aim-typography-root {
  /* Images */
}
.aim-typography-root :where(img) {
  max-width: 100%;
  margin-bottom: var(--aim-spacing-xs);
}
.aim-typography-root {
  /* Links */
}
.aim-typography-root :where(a) {
  color: var(--aim-color-anchor);
  text-decoration: none;
}
.aim-typography-root :where(a):hover {
  text-decoration: underline;
}
.aim-typography-root {
  /* Mark / Highlight */
}
.aim-typography-root :where(mark) {
  background-color: var(--aim-color-mark-bg);
  color: var(--aim-color-mark-text);
}
.aim-typography-root {
  /* Horizontal rule */
}
.aim-typography-root :where(hr) {
  margin-top: var(--aim-spacing-md);
  margin-bottom: var(--aim-spacing-md);
  border: 0;
  border-top: 1px solid var(--aim-color-border);
}
.aim-typography-root {
  /* Code (inline) */
}
.aim-typography-root :where(code) {
  line-height: var(--aim-line-height);
  padding: 1px 5px;
  border-radius: var(--aim-radius-sm);
  font-family: var(--aim-font-family-monospace);
  font-size: var(--aim-font-size-xs);
  background-color: var(--aim-color-code-bg);
  color: var(--aim-color-code-text);
}
.aim-typography-root {
  /* Code (block) */
}
.aim-typography-root :where(pre) {
  padding: var(--aim-spacing-xs);
  line-height: var(--aim-line-height);
  margin: 0;
  margin-top: var(--aim-spacing-md);
  margin-bottom: var(--aim-spacing-md);
  overflow-x: auto;
  font-family: var(--aim-font-family-monospace);
  font-size: var(--aim-font-size-xs);
  border-radius: var(--aim-radius-sm);
  background-color: var(--aim-color-code-bg);
}
.aim-typography-root :where(pre) :where(code) {
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  color: inherit;
  border: 0;
}
.aim-typography-root {
  /* Lists */
}
.aim-typography-root :where(ul, ol) {
  margin-bottom: var(--aim-spacing-md);
  padding-inline-start: var(--aim-spacing-xl);
  list-style-position: outside;
}
.aim-typography-root {
  /* Table */
}
.aim-typography-root :where(table) {
  width: 100%;
  border-collapse: collapse;
  caption-side: bottom;
  margin-bottom: var(--aim-spacing-md);
}
.aim-typography-root :where(table) :where(caption) {
  margin-top: var(--aim-spacing-xs);
  font-size: var(--aim-font-size-sm);
  color: var(--aim-color-dimmed);
}
.aim-typography-root :where(table) :where(th) {
  text-align: left;
  font-weight: var(--aim-font-weight-strong);
  font-size: var(--aim-font-size-sm);
  padding: var(--aim-spacing-xs) var(--aim-spacing-sm);
}
.aim-typography-root :where(table) :where(thead th) {
  border-bottom: 1px solid var(--aim-color-border);
}
.aim-typography-root :where(table) :where(tfoot th) {
  border-top: 1px solid var(--aim-color-border);
}
.aim-typography-root :where(table) :where(td) {
  padding: var(--aim-spacing-xs) var(--aim-spacing-sm);
  border-bottom: 1px solid var(--aim-color-border);
  font-size: var(--aim-font-size-sm);
}
.aim-typography-root :where(table) :where(tr:last-of-type td) {
  border-bottom: 0;
}
.aim-typography-root {
  /* Blockquote */
}
.aim-typography-root :where(blockquote) {
  font-size: var(--aim-font-size-lg);
  line-height: var(--aim-line-height);
  margin: var(--aim-spacing-md) 0;
  border-radius: var(--aim-radius-sm);
  padding: var(--aim-spacing-md) var(--aim-spacing-lg);
  background-color: var(--aim-color-blockquote-bg);
}
.aim-typography-root {
  /* KaTeX -- override the default 1.21em with the root-anchored token */
}
.aim-typography-root :where(.katex) {
  font-size: var(--aim-katex-font-size);
}
.aim-typography-root {
  /* Keyboard */
}
.aim-typography-root :where(kbd) {
  font-family: var(--aim-font-family-monospace);
  line-height: var(--aim-line-height);
  font-weight: 700;
  padding: 3px 5px;
  font-size: var(--aim-font-size-xs);
  border-radius: var(--aim-radius-sm);
  border: 1px solid var(--aim-color-border);
  border-bottom-width: 3px;
  background-color: var(--aim-color-code-bg);
}

/*# sourceMappingURL=default.css.map */