/* Self-contained scientific typesetting, scoped to the two English papers. */
.publication-body .math-source-text {
  position: absolute; left: 0; top: 0; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.publication-body .equation-anchor { display: block; position: relative; top: -100px; height: 0; }
.publication-body .math-inline { display: inline; white-space: nowrap; font-size: .98em; }
.publication-body mjx-container { direction: ltr; text-indent: 0; line-height: 0; }
.publication-body .math-inline mjx-container { display: inline-block; }
.publication-body .math-inline svg,
.publication-body .math-display svg {
  display: inline-block; max-width: none; height: auto; margin: 0;
  background: transparent; overflow: visible; border-radius: 0;
}
.publication-body .math-inline svg { vertical-align: baseline; }
.publication-body .math-display { width: max-content; min-width: 100%; text-align: center; font-size: 17px; line-height: 1; padding: 5px 0; }
.publication-body .math-display mjx-container { display: inline-block; margin: 0; }
.publication-body .equation-group { margin: 32px 0 38px; }
.publication-body .equation-block {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 17px;
  align-items: center; padding: 23px 18px; border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper), transparent 32%);
}
.publication-body .equation-block + .equation-block { border-top: 0; }
.publication-body .equation-formula { position: relative; min-width: 0; overflow-x: auto; overflow-y: hidden; padding: 6px 0; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.publication-body .equation-formula:focus-visible { outline-offset: 2px; }
.publication-body .equation-number { color: var(--muted); font: 11px/1.5 var(--mono); white-space: nowrap; }
.publication-body .equation-block:has(.has-overflow)::after { content: 'Scroll to read →'; grid-column: 1 / -1; margin-top: 8px; color: var(--muted); text-align: right; font: 9px/1.6 var(--sans); letter-spacing: .3px; }

/* The original vector-diagram foreignObjects are now responsive text structures. */
.publication-body .concept-panel { margin: 30px 0 35px; padding: 24px 26px; background: var(--surface); border-radius: 4px; }
.publication-body .concept-label { margin-bottom: 15px; color: var(--accent); font: 10px/1.7 var(--mono); letter-spacing: .5px; text-transform: uppercase; }
.publication-body .concept-content { font: 17px/1.9 var(--serif); }
.publication-body .concept-flow { text-align: center; font: 13px/2.2 var(--sans); }
.publication-body .concept-content .ltx_inline-block { display: inline; width: auto; }
.publication-body .concept-content .ltx_text { font: inherit; }
.publication-body .concept-panel pre { margin: 0; padding: 0; background: transparent; border: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.publication-body .concept-panel pre code { white-space: pre-wrap; font: 12px/2 var(--mono); }
.publication-body .contribution-note { font: 11px/1.8 var(--sans); color: var(--muted); margin: 0 0 18px; }
.publication-body .publication-affiliations { display: flex; justify-content: center; align-items: center; gap: 30px; margin: 27px 0; }
.publication-body .publication-affiliations img { display: inline-block; width: auto; max-width: 42%; height: 25px; margin: 0; object-fit: contain; cursor: default; background: transparent; }

/* One consistent figure vocabulary: a quiet label, a white visual field and a left-aligned caption. */
.publication-body .publication-figure { max-width: 100%; margin: 42px 0 45px; }
.publication-body .figure-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 1px 12px; }
.publication-body .figure-label { color: var(--accent); font: 10px/1.7 var(--mono); letter-spacing: 1px; text-transform: uppercase; }
.publication-body .figure-expand { background: none; border: 0; padding: 3px 0 3px 8px; color: var(--muted); font: 10px/1.7 var(--sans); }
.publication-body .figure-expand:hover { color: var(--accent); }
.publication-body .figure-media { display: grid; place-items: center; min-width: 0; padding: 24px; border: 1px solid #e3e5df; border-radius: 4px; background: #fff; }
.publication-body .figure-media img { display: block; max-width: 100%; height: auto; margin: 0; border-radius: 0; background: #fff; }
.publication-body .figure-landscape .figure-media img { width: 100%; }
.publication-body .figure-portrait .figure-media img { width: auto; max-height: 510px; max-width: 100%; }
.publication-body .figure-wide .figure-media { padding: 18px; }
.publication-body .publication-caption { margin: 16px 0 0; text-align: left; color: var(--muted); font: 13px/1.85 var(--sans); }
.publication-body .publication-caption .ltx_text { font: inherit; }
.publication-body .publication-caption .figure-key-icon { display: inline-block; width: 2.5em; max-width: none; height: auto; vertical-align: middle; margin: 0 3px; cursor: default; background: transparent; }
.publication-body .publication-caption .math-inline { font-size: 1em; }
.publication-body .publication-caption em { color: var(--ink); }

/* Data tables retain their source labels and align quantitative values as a column. */
.publication-body .publication-table { margin: 36px 0 40px; }
.publication-body .table-caption { margin: 0 0 16px; text-align: left; color: var(--muted); font: 13px/1.85 var(--sans); }
.publication-body .table-caption .ltx_tag_table { display: block; margin-bottom: 10px; color: var(--accent); font: 10px/1.7 var(--mono); letter-spacing: 1px; text-transform: uppercase; }
.publication-body .publication-table .table-scroll { margin-top: 0; }
.publication-body .publication-data { font: 12px/1.8 var(--sans); border-top: 1px solid var(--ink); }
.publication-body .publication-data td,
.publication-body .publication-data th { padding: 12px 13px; min-width: 60px; max-width: 330px; vertical-align: middle; }
.publication-body .publication-data .numeric-cell { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.publication-body .publication-data p { margin: 0; }
.publication-body .publication-data p + p { margin-top: 9px; }
.publication-body .publication-data .math-inline { font-size: 1em; }
.publication-body .publication-data .math-inline svg { max-width: none; }
.publication-body .publication-data tr:last-child td { border-bottom-color: var(--ink); }

@media (max-width: 650px) {
  .publication-body .math-display { font-size: 16px; }
  .publication-body .equation-group { margin: 27px 0 32px; }
  .publication-body .equation-block { padding: 19px 11px; column-gap: 11px; }
  .publication-body .equation-number { font-size: 9px; }
  .publication-body .concept-panel { padding: 20px; margin: 25px 0 30px; }
  .publication-body .concept-content { font-size: 16px; line-height: 1.85; }
  .publication-body .concept-flow { font-size: 12px; line-height: 2.4; }
  .publication-body .concept-panel pre code { font-size: 10px; line-height: 1.9; }
  .publication-body .publication-figure { margin: 33px 0 36px; }
  .publication-body .figure-media { padding: 13px; }
  .publication-body .figure-wide .figure-media { padding: 9px; }
  .publication-body .figure-portrait .figure-media img { max-height: 430px; }
  .publication-body .publication-caption, .publication-body .table-caption { font-size: 12px; line-height: 1.85; }
  .publication-body .figure-heading { padding-bottom: 10px; }
  .publication-body .figure-label { font-size: 9px; }
  .publication-body .figure-expand { font-size: 10px; }
  .publication-body .publication-data { font-size: 11px; }
  .publication-body .publication-data td, .publication-body .publication-data th { padding: 10px; max-width: 250px; }
  .publication-body .publication-affiliations img { height: 20px; }
}
@media print {
  .publication-body .figure-expand { display: none; }
  .publication-body .publication-figure, .publication-body .equation-block { break-inside: avoid; }
  .publication-body .equation-formula { overflow: visible; }
  .publication-body .math-display { font-size: 11pt; }
  .publication-body .figure-media { border-color: #ddd; padding: 12pt; }
}
