.obo-prose {
  color: var(--obo-tex-text, CanvasText);
  font-size: var(--obo-tex-prose-size, 1rem);
  line-height: var(--obo-tex-prose-leading, 1.7);
}
.obo-prose > * + * { margin-top: 1em; }
.obo-prose h2 {
  font-family: var(--obo-tex-font-display, inherit);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.25;
  margin-top: 2em;
}
.obo-prose h3 { font-weight: 600; font-size: 1.125rem; margin-top: 1.5em; }
.obo-prose a { color: var(--obo-tex-accent, LinkText); text-decoration: underline; text-underline-offset: 2px; }
.obo-prose ul, .obo-prose ol { padding-left: 1.5em; }
.obo-prose ul { list-style: disc; }
.obo-prose ol { list-style: decimal; }
.obo-prose li + li { margin-top: 0.35em; }
.obo-prose blockquote {
  border-left: 2px solid var(--obo-tex-accent, currentColor);
  padding-left: 1em;
  color: var(--obo-tex-muted, GrayText);
  font-style: italic;
}
.obo-prose code { font-family: var(--obo-tex-font-mono, ui-monospace, monospace); font-size: 0.9em; }
.obo-prose table { border-collapse: collapse; font-size: 0.9em; }
.obo-prose th, .obo-prose td { border-bottom: 1px solid var(--obo-tex-border, GrayText); padding: 0.4em 0.75em; text-align: left; }
[data-math-style="display"] { display: block; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; padding-block: 0.25em; }
.obo-prose table { display: block; max-width: 100%; overflow-x: auto; }

@property --obo-tex-fade-start { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --obo-tex-fade-end { syntax: "<length>"; inherits: false; initial-value: 0px; }
@keyframes obo-tex-scroll-fade {
  from { --obo-tex-fade-start: 0px; --obo-tex-fade-end: 2.5rem; }
  to { --obo-tex-fade-start: 2.5rem; --obo-tex-fade-end: 0px; }
}
@supports (animation-timeline: scroll(self inline)) {
  [data-math-style="display"], .obo-prose table {
    mask-image: linear-gradient(to right, transparent, black var(--obo-tex-fade-start), black calc(100% - var(--obo-tex-fade-end)), transparent);
    animation: obo-tex-scroll-fade linear both;
    animation-timeline: scroll(self inline);
  }
}
.obo-prose .footnotes { font-size: 0.85em; color: var(--obo-tex-muted, GrayText); border-top: 1px solid var(--obo-tex-border, GrayText); padding-top: 1em; }

:root { --ML__static-fonts: true; }

.obo-math-input { position: relative; display: block; min-width: 0; }
.obo-math-input__box {
  display: block; min-width: 0;
  border: 1px solid var(--obo-tex-border, GrayText); border-radius: 0.875rem;
  background: var(--obo-tex-surface-2, Canvas);
  transition: border-color 120ms, box-shadow 120ms;
}
.obo-math-input__box:focus-within { border-color: var(--obo-tex-accent, Highlight); box-shadow: 0 0 0 3px var(--obo-tex-accent-dim, transparent); }
.obo-math-input__box:has([aria-invalid="true"]) { border-color: var(--obo-tex-alert, CanvasText); }
.obo-math-input__line {
  display: block; width: 100%; min-height: 2.75rem; margin: 0; padding: 0.625rem 0.875rem;
  font-size: 1rem; line-height: 1.5; color: var(--obo-tex-strong, CanvasText);
  background: transparent; border: 0; border-radius: 0.875rem; outline: none; resize: vertical;
}
.obo-math-input__line::placeholder { color: var(--obo-tex-muted, GrayText); }
.obo-math-input__line[hidden] { display: none; }
.obo-math-input--plain .obo-math-input__line { font-size: 0.875rem; }
.obo-math-input__visual { display: flex; flex-direction: column; gap: 0.375rem; }
.obo-math-input__visual[hidden] { display: none; }
.obo-math-input__field {
  display: block; width: 100%; min-height: 2.75rem; padding: 0.5rem 0.875rem; font-size: 1.15rem;
  color: var(--obo-tex-strong, CanvasText); background: transparent; border: 0; border-radius: 0.875rem; outline: none;
  --caret-color: var(--obo-tex-accent, Highlight);
  --primary: var(--obo-tex-accent, Highlight);
  --selection-background-color: var(--obo-tex-accent-dim, Highlight);
  --selection-color: var(--obo-tex-strong, CanvasText);
  --contains-highlight-background-color: var(--obo-tex-accent-dim, transparent);
  --placeholder-color: var(--obo-tex-accent, Highlight);
  --placeholder-opacity: 0.6;
  --smart-fence-color: var(--obo-tex-muted, GrayText);
}
.obo-math-input__field::part(menu-toggle) { color: var(--obo-tex-muted, GrayText); }
.obo-math-input__field::part(virtual-keyboard-toggle) { display: none; }
.obo-math-input__status { font-size: 0.75rem; color: var(--obo-tex-alert, CanvasText); margin-top: 0.25rem; }
.obo-math-input__status:empty { display: none; }

.obo-math-echo { margin: 0 0.875rem; padding: 0.375rem 0 0.625rem; border-top: 1px dashed var(--obo-tex-border, GrayText); min-width: 0; }
.obo-math-echo:empty, .obo-math-echo:not(:has(*)) { display: none; }
.obo-math-echo .katex-display { margin: 0.125rem 0; text-align: left; }
.obo-math-echo .katex-display > .katex { text-align: left; }

.obo-math-palette, .obo-math-input__suggestions {
  position: absolute; left: 0; right: 0; z-index: 40; margin-top: 0.25rem;
  background: var(--obo-tex-surface, Canvas); color: var(--obo-tex-strong, CanvasText);
  border: 1px solid var(--obo-tex-border, GrayText); border-radius: 0.75rem;
  box-shadow: 0 12px 32px var(--obo-tex-shadow, transparent);
}
.obo-math-palette[hidden], .obo-math-input__suggestions[hidden] { display: none; }
.obo-math-palette { padding: 0.5rem; }
.obo-math-palette__query {
  width: 100%; font: inherit; font-size: 1rem; padding: 0.5rem 0.75rem; border-radius: 0.5rem;
  border: 1px solid var(--obo-tex-border, GrayText); background: var(--obo-tex-surface-2, Canvas); color: var(--obo-tex-strong, CanvasText);
}
.obo-math-palette__query:focus { outline: 2px solid var(--obo-tex-accent, Highlight); outline-offset: 0; }
.obo-math-palette__list { max-height: min(22rem, 60vh); overflow-y: auto; margin-top: 0.5rem; overscroll-behavior: contain; }
.obo-math-palette__group { font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--obo-tex-muted, GrayText); padding: 0.5rem 0.5rem 0.25rem; }
.obo-math-palette__option { display: flex; align-items: center; gap: 0.75rem; padding: 0.375rem 0.5rem; border-radius: 0.5rem; cursor: pointer; min-height: 2.25rem; }
.obo-math-palette__option[aria-selected="true"] { background: var(--obo-tex-accent-dim, Highlight); }
.obo-math-palette__option[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; }
.obo-math-palette__glyph { flex: 0 0 auto; min-width: 2.5rem; max-width: 55%; overflow: hidden; text-align: center; font-family: var(--obo-tex-font-mono, ui-monospace, monospace); font-size: 0.9rem; }
.obo-math-palette__label { display: flex; flex-direction: column; min-width: 0; font-size: 0.875rem; }
.obo-math-palette__label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.obo-math-palette__detail { font-size: 0.75rem; color: var(--obo-tex-muted, GrayText); }
.obo-math-palette__empty, .obo-math-palette__hint { font-size: 0.75rem; color: var(--obo-tex-muted, GrayText); padding: 0.5rem; }
.obo-math-input__suggestions { padding: 0.25rem; }


.ML__keyboard {
  --keyboard-background: var(--obo-tex-surface-2, Canvas);
  --keyboard-border: var(--obo-tex-border, GrayText);
  --keycap-background: var(--obo-tex-surface, Canvas);
  --keycap-background-hover: var(--obo-tex-accent-dim, Canvas);
  --keycap-text: var(--obo-tex-strong, CanvasText);
  --keycap-secondary-background: var(--obo-tex-surface-2, Canvas);
  --keycap-secondary-text: var(--obo-tex-text, CanvasText);
  --keyboard-toolbar-text: var(--obo-tex-text, CanvasText);
  --keyboard-toolbar-text-active: var(--obo-tex-accent, Highlight);
  --keyboard-accent-color: var(--obo-tex-accent, Highlight);
  --variant-panel-background: var(--obo-tex-surface, Canvas);
  --variant-keycap-text: var(--obo-tex-strong, CanvasText);
}

.obo-math-toolbar { display: grid; justify-items: start; gap: 0.375rem; margin-bottom: 0.5rem; min-width: 0; }
.obo-math-toolbar[hidden] { display: none; }
.obo-math-toolbar--sticky { position: sticky; top: var(--obo-tex-pin-offset, 0); z-index: 30; }
.obo-math-toolbar__pill {
  position: relative; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.125rem; max-width: 100%; padding: var(--obo-tex-bar-pad, 0.2rem);
  border: 1px solid var(--obo-tex-border, GrayText); border-radius: var(--obo-tex-bar-radius, 1.5rem);
  background: var(--obo-tex-bar, Canvas);
  box-shadow: var(--obo-tex-bar-shadow, 0 6px 20px var(--obo-tex-shadow-lift, transparent));
}
.obo-math-toolbar--flush { margin: 0; width: 100%; justify-items: stretch; }
.obo-math-toolbar--flush .obo-math-toolbar__pill { display: flex; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.obo-math-toolbar--flush .obo-math-keyboard { max-width: none; border-width: 1px 0 0; border-radius: 0; box-shadow: none; background: transparent; }
.obo-math-toolbar__tool {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.1rem;
  width: var(--obo-tex-bar-item, 2.125rem); height: var(--obo-tex-bar-item, 2.125rem); padding: 0; border: 0; border-radius: var(--obo-tex-bar-item-radius, 9999px);
  font: inherit; color: var(--obo-tex-muted, GrayText); background: transparent; cursor: pointer;
}
.obo-math-toolbar__tool--menu { width: auto; padding-inline: 0.5rem 0.35rem; }
.obo-math-toolbar__tool[aria-pressed="true"], .obo-math-toolbar__tool[aria-expanded="true"] { background: var(--obo-tex-accent-dim, transparent); color: var(--obo-tex-accent, Highlight); }
.obo-math-toolbar__tool:focus-visible, .obo-math-toolbar__item:focus-visible, .obo-math-toolbar__letter:focus-visible,
.obo-math-keyboard__key:focus-visible, .obo-math-step__action:focus-visible, .obo-math-steps__add:focus-visible { outline: 2px solid var(--obo-tex-accent, Highlight); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
  .obo-math-toolbar__tool:hover, .obo-math-toolbar__item:hover, .obo-math-toolbar__letter:hover, .obo-math-keyboard__key:hover,
  .obo-math-step__action:hover, .obo-math-steps__add:hover { background: var(--obo-tex-accent-dim, transparent); color: var(--obo-tex-accent, Highlight); }
}
.obo-math-toolbar__icon { width: 1.125rem; height: 1.125rem; flex: none; }
.obo-math-toolbar__tool--menu .obo-math-toolbar__icon { width: 0.75rem; height: 0.75rem; }
.obo-math-toolbar__glyph { font-family: var(--obo-tex-font-display, serif); font-size: 1.05rem; line-height: 1; white-space: nowrap; }
.obo-math-toolbar__tool:has(.obo-math-toolbar__glyph) { min-width: var(--obo-tex-bar-item, 2.125rem); width: auto; padding-inline: 0.4rem; }
.obo-math-toolbar__gap { width: 1px; height: 1.25rem; margin-inline: 0.25rem; background: var(--obo-tex-border, GrayText); }
.obo-math-toolbar__menu-wrap { position: relative; display: inline-flex; }
.obo-math-toolbar__menu {
  position: absolute; top: calc(100% + 0.5rem); left: 50%; transform: translateX(-50%); z-index: 40;
  display: grid; gap: 0.125rem; min-width: 12rem; padding: var(--obo-tex-bar-pad, 0.35rem);
  border: 1px solid var(--obo-tex-border, GrayText); border-radius: var(--obo-tex-bar-radius, 1rem);
  background: var(--obo-tex-surface, Canvas); box-shadow: 0 12px 30px var(--obo-tex-shadow-lift, transparent);
}
.obo-math-toolbar__menu[hidden] { display: none; }
.obo-math-toolbar__menu--end { left: auto; right: 0; transform: none; }
.obo-math-toolbar__menu--grid { left: 0; transform: none; grid-template-columns: repeat(6, 2.25rem); min-width: 0; }
.obo-math-toolbar__item {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; width: 100%; padding: 0.5rem 0.6rem;
  border: 0; border-radius: var(--obo-tex-bar-item-radius, 0.75rem); font: inherit; font-size: 0.8125rem; text-align: left; white-space: nowrap;
  color: var(--obo-tex-strong, CanvasText); background: transparent; cursor: pointer;
}
.obo-math-toolbar__item[aria-checked="true"] { color: var(--obo-tex-accent, Highlight); background: var(--obo-tex-accent-dim, transparent); }
.obo-math-toolbar__item--split { margin-top: 0.25rem; box-shadow: 0 -1px 0 var(--obo-tex-border, GrayText); }
.obo-math-toolbar__hint { font-family: var(--obo-tex-font-mono, ui-monospace, monospace); font-size: 0.6875rem; color: var(--obo-tex-muted, GrayText); }
.obo-math-toolbar__letter, .obo-math-keyboard__key {
  display: inline-flex; align-items: center; justify-content: center; height: 2.25rem; padding: 0 0.25rem;
  border: 0; border-radius: 0.6rem; font-family: var(--obo-tex-font-display, serif); font-size: 1rem;
  color: var(--obo-tex-strong, CanvasText); background: transparent; cursor: pointer;
}

.obo-math-keyboard {
  display: grid; gap: 0.25rem; width: 100%; max-width: 34rem; padding: 0.375rem;
  border: 1px solid var(--obo-tex-border, GrayText); border-radius: var(--obo-tex-bar-radius, 1rem);
  background: var(--obo-tex-surface, Canvas);
}
.obo-math-keyboard[hidden] { display: none; }
.obo-math-keyboard__row { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 0.25rem; }
.obo-math-keyboard__key { min-width: 0; background: var(--obo-tex-surface-2, Canvas); font-size: 0.9375rem; white-space: nowrap; overflow: hidden; }

.obo-math-editor { min-width: 0; }
.obo-math-editor__box { min-width: 0; }
.obo-math-editor__source[hidden] { display: none; }
.obo-math-steps { display: grid; counter-reset: obo-math-step; margin: 0; padding: 0.25rem 0 0; list-style: none; }
.obo-math-steps[hidden], .obo-math-steps__adders[hidden] { display: none; }
.obo-math-step { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; align-items: start; min-width: 0; }
.obo-math-step[data-kind="math"] { counter-increment: obo-math-step; }
.obo-math-step__number {
  align-self: stretch; padding: 0.8rem 0.625rem 0 0; text-align: right; border-right: 1px solid var(--obo-tex-border, GrayText);
  font-family: var(--obo-tex-font-mono, ui-monospace, monospace); font-size: 0.6875rem; color: var(--obo-tex-muted, GrayText);
}
.obo-math-step:focus-within .obo-math-step__number { color: var(--obo-tex-accent, Highlight); box-shadow: inset -2px 0 0 var(--obo-tex-accent, Highlight); }
.obo-math-step[data-kind="math"] .obo-math-step__number::before { content: "(" counter(obo-math-step) ")"; }
.obo-math-step--text .obo-math-step__number::before { content: "\00B6"; }
.obo-math-step__body { display: grid; min-width: 0; padding-left: 0.25rem; }
.obo-math-step .obo-math-input__box, .obo-math-step .obo-math-input__box:focus-within { border-color: transparent; border-radius: 0; background: transparent; box-shadow: none; }
.obo-math-step .obo-math-input__box:has([aria-invalid="true"]) { box-shadow: inset 2px 0 0 var(--obo-tex-alert, CanvasText); }
.obo-math-step__note {
  width: 100%; min-height: 1.75rem; padding: 0 0.875rem 0.5rem; border: 0; background: transparent;
  font: inherit; font-size: 0.8125rem; font-style: italic; color: var(--obo-tex-text, CanvasText); outline: none;
}
.obo-math-step__note::placeholder { color: var(--obo-tex-muted, GrayText); }
.obo-math-step__text {
  display: block; width: 100%; min-height: 2.75rem; padding: 0.625rem 0.875rem; overflow: hidden; resize: none;
  border: 0; border-radius: 0; background: transparent;
  font: inherit; font-size: 0.9375rem; line-height: 1.6; color: var(--obo-tex-strong, CanvasText); outline: none;
}
.obo-math-step__text::placeholder { color: var(--obo-tex-muted, GrayText); }
.obo-math-step__rendered { padding: 0.625rem 0.875rem; font-size: 0.9375rem; line-height: 1.6; min-width: 0; cursor: text; }
.obo-math-step__rendered[hidden], .obo-math-step__body:focus-within > .obo-math-step__rendered { display: none; }
.obo-math-step__body:has(> .obo-math-step__rendered:not([hidden])) { position: relative; }
.obo-math-step__body:has(> .obo-math-step__rendered:not([hidden])):not(:focus-within) > .obo-math-step__text {
  position: absolute; inset: 0; height: 100% !important; opacity: 0; cursor: text;
}
.obo-math-step__actions { display: flex; justify-content: center; padding-top: 0.375rem; }
.obo-math-step__action, .obo-math-steps__add {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-width: 2rem; height: 2rem; padding: 0;
  border: 0; border-radius: var(--obo-tex-bar-item-radius, 9999px); font: inherit; color: var(--obo-tex-muted, GrayText); background: transparent; cursor: pointer;
}
.obo-math-step__action { visibility: hidden; }
.obo-math-step:focus-within .obo-math-step__action, .obo-math-step__action[aria-expanded="true"] { visibility: visible; }
.obo-math-step__action[aria-expanded="true"] { color: var(--obo-tex-accent, Highlight); background: var(--obo-tex-accent-dim, transparent); }
.obo-math-steps__adders { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; padding: 0.25rem 0.5rem 0.5rem; }
.obo-math-steps__add { padding-inline: 0.5rem 0.75rem; font-size: 0.8125rem; }
.obo-math-steps__plus { display: inline-flex; justify-content: center; width: 1.25rem; font-size: 1.125rem; line-height: 1; }
.obo-math-steps__tip { font-family: var(--obo-tex-font-mono, ui-monospace, monospace); font-size: 0.6875rem; color: var(--obo-tex-muted, GrayText); }
.obo-math-steps__tip kbd { font: inherit; padding: 0 0.3rem; border: 1px solid var(--obo-tex-border, GrayText); border-radius: 0.25rem; }
.obo-math-steps__status { margin: 0 0.875rem 0.5rem; font-size: 0.75rem; color: var(--obo-tex-alert, CanvasText); }
.obo-math-steps__status:empty { display: none; }

@media (max-width: 639px) {
  .obo-math-step { grid-template-columns: 2rem minmax(0, 1fr) 2.75rem; }
  .obo-math-step__number { padding-right: 0.375rem; }
  .obo-math-steps__tip { display: none; }
  .obo-math-toolbar__menu-wrap { position: static; }
  .obo-math-toolbar__menu, .obo-math-toolbar__menu--end { left: 0; right: auto; transform: none; max-width: 100%; }
}
@media (max-width: 479px) {
  .obo-math-toolbar__tool--typeable, .obo-math-toolbar__gap { display: none; }
}
@media (pointer: coarse) {
  .obo-math-toolbar__tool { width: 2.75rem; height: 2.75rem; }
  .obo-math-toolbar__tool--menu, .obo-math-toolbar__tool:has(.obo-math-toolbar__glyph) { min-width: 2.75rem; width: auto; }
  .obo-math-toolbar__item, .obo-math-palette__option { min-height: 2.75rem; }
  .obo-math-toolbar__letter, .obo-math-keyboard__key, .obo-math-steps__add { height: 2.75rem; }
  .obo-math-toolbar__menu--grid { grid-template-columns: repeat(6, 2.75rem); }
  .obo-math-step__action { visibility: visible; min-width: 2.75rem; height: 2.75rem; }
  .obo-math-step__note { min-height: 2.75rem; }
}
