:root {
    --latex-text: #1f2937;
    --latex-muted: #5a606d;
    --latex-accent: #801f2f;
    --latex-line: #e9e3dc;
}

/* Base mathematical typography */
.article-content .math,
.article-content .math-inline,
.article-content [data-math],
.article-content .katex,
.article-content .katex-display,
.article-content .latex,
.article-content .tex,
.article-content .formula,
.article-content .equation {
    color: var(--latex-text);
    font-family: KaTeX_Main, "Cambria Math", "STIX Two Text", "Times New Roman", serif;
    font-variant-numeric: lining-nums;
}

.article-content .math-inline,
.article-content .latex-inline,
.article-content .tex-inline {
    display: inline;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    font-size: 1em;
    line-height: inherit;
    white-space: normal;
}

.article-content .math-display,
.article-content .math-block,
.article-content .latex-display,
.article-content .tex-display,
.article-content .equation,
.article-content .science-equation,
.article-content .formula,
.article-content .math-formula {
    display: block;
    width: 100%;
    margin: 1rem 0;
    padding: 0;
    background: transparent;
    border: 0;
    color: var(--latex-text);
    text-align: center;
    line-height: 1.5;
    overflow-x: auto;
    overflow-y: hidden;
}

.article-content .katex {
    font-size: 1em;
    line-height: 1.35;
}

.article-content .katex-display {
    display: block;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.article-content .katex-display > .katex {
    display: inline-block;
    min-width: max-content;
    text-align: center;
}

.article-content .katex .mathnormal,
.article-content .katex .mathrm,
.article-content .katex .text,
.article-content .katex .operatorname,
.article-content .katex .mathbf,
.article-content .katex .mathit,
.article-content .katex .mathsf,
.article-content .katex .mathtt {
    font-family: KaTeX_Main, "Cambria Math", "STIX Two Text", "Times New Roman", serif;
}

/* Common symbols, operators, powers, roots, fractions, vectors, and matrices */
.article-content .math-symbol,
.article-content .math-operator,
.article-content .math-var,
.article-content .math-function,
.article-content .function,
.article-content .operator,
.article-content .vector-notation,
.article-content .physics-vector,
.article-content .ratio,
.article-content .scientific-notation,
.article-content .sci-notation {
    color: inherit;
    font-family: KaTeX_Main, "Cambria Math", "STIX Two Text", "Times New Roman", serif;
}

.article-content .math-symbol,
.article-content .math-var,
.article-content .math-function,
.article-content .function,
.article-content .vector-notation,
.article-content .physics-vector {
    font-style: italic;
}

.article-content .fraction,
.article-content .math-fraction,
.article-content .matrix,
.article-content .math-matrix,
.article-content .vector,
.article-content .math-vector,
.article-content .set,
.article-content .math-set {
    display: inline-block;
    margin: 0 0.15em;
    vertical-align: middle;
    color: inherit;
    font-family: KaTeX_Main, "Cambria Math", "STIX Two Text", "Times New Roman", serif;
}

.article-content .fraction {
    text-align: center;
    line-height: 1.1;
}

.article-content .fraction-numerator {
    display: block;
    padding: 0 0.18em 0.1em;
    border-bottom: 1px solid currentColor;
}

.article-content .fraction-denominator {
    display: block;
    padding: 0.1em 0.18em 0;
}

.article-content .matrix,
.article-content .math-matrix,
.article-content .vector,
.article-content .math-vector {
    padding: 0.15em 0.35em;
}

.article-content .matrix-row {
    display: block;
    line-height: 1.5;
}

.article-content .matrix-cell {
    display: inline-block;
    min-width: 2em;
    padding: 0 0.25em;
    text-align: center;
}

.article-content .equation-number,
.article-content .math-number {
    float: right;
    margin-left: 1em;
    color: var(--latex-muted);
    font-size: 0.9em;
}

/* Scientific and chemistry notation */
.article-content .chemical,
.article-content .chem-formula,
.article-content .chemical-formula,
.article-content .chemical-reaction,
.article-content .reaction,
.article-content .molecule,
.article-content .molecular-structure,
.article-content .element,
.article-content .element-symbol,
.article-content .unit,
.article-content .measurement,
.article-content .measure,
.article-content .quantity,
.article-content .constant,
.article-content .physical-constant,
.article-content .temperature,
.article-content .temp,
.article-content .wavelength,
.article-content .frequency,
.article-content .science-term,
.article-content .scientific-term {
    color: inherit;
    font-family: "Cambria Math", KaTeX_Main, "STIX Two Text", "Times New Roman", serif;
    font-variant-numeric: lining-nums;
}

.article-content .chemical-reaction,
.article-content .reaction,
.article-content .molecule,
.article-content .molecular-structure {
    display: block;
    margin: 1rem 0;
    padding: 0;
    background: transparent;
    border: 0;
    text-align: center;
    overflow-x: auto;
}

.article-content .reaction-arrow {
    display: inline-block;
    margin: 0 0.35em;
    font-family: "Cambria Math", KaTeX_Main, serif;
}

.article-content .element,
.article-content .element-symbol,
.article-content .quantity,
.article-content .constant,
.article-content .physical-constant {
    font-weight: 600;
}

.article-content .exponent,
.article-content .sci-exp,
.article-content .math-sup,
.article-content sup {
    font-size: 0.75em;
    line-height: 0;
    vertical-align: super;
}

.article-content .math-sub,
.article-content sub {
    font-size: 0.75em;
    line-height: 0;
    vertical-align: sub;
}

.article-content .bond-single,
.article-content .bond-double,
.article-content .bond-triple {
    display: inline-block;
    min-width: 1em;
    margin: 0 0.1em;
    vertical-align: middle;
}

.article-content .bond-single { border-bottom: 1px solid currentColor; }
.article-content .bond-double { border-bottom: 3px double currentColor; }
.article-content .bond-triple { border-bottom: 3px solid currentColor; }

/* Data and science tables */
.article-content .data-table,
.article-content .science-data {
    width: 100%;
    margin: 1rem 0;
    border-collapse: collapse;
    font-family: "Cambria Math", Georgia, serif;
}

.article-content .data-table th,
.article-content .data-table td,
.article-content .science-data th,
.article-content .science-data td {
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--latex-line);
    text-align: left;
    vertical-align: top;
}

.article-content .data-table th,
.article-content .science-data th {
    font-family: "Work Sans", Arial, sans-serif;
    font-weight: 700;
}

@media (max-width: 980px) {
    .article-content .math-display,
    .article-content .math-block,
    .article-content .equation,
    .article-content .science-equation {
        margin: 0.9rem 0;
    }

    .article-content .katex {
        font-size: 0.98em;
    }
}

@media (max-width: 620px) {
    .article-content .math-display,
    .article-content .math-block,
    .article-content .equation,
    .article-content .science-equation {
        margin: 0.8rem 0;
        text-align: left;
    }

    .article-content .katex {
        font-size: 0.94em;
    }

    .article-content .equation-number,
    .article-content .math-number {
        float: none;
        display: block;
        margin: 0.35rem 0 0;
        text-align: right;
    }
}
