/* E46: load after the existing CAPEX layers. Screen readability only.
   The renderer owns SVG label sizes and per-chart minimum widths. */
@media screen {
  body:has(.capex-r145) {
    --capex-readable-muted: #53606b;
  }

  body:has(.capex-r145) .capex-r145 {
    --viz-min-width: 0px;
  }

  /* Include body row headings: the report's global th rule was only 11px. */
  body:has(.capex-r145) .capex-r145 :is(table, .data-table, .timeline-table),
  body:has(.capex-r145) .capex-r145 table :is(th, td),
  body:has(.capex-r145) .capex-r145 :is(thead, tbody, tfoot) th,
  body:has(.capex-r145) .capex-r145 table :is(p, li, code, small),
  body:has(.capex-r145) .capex-r145 table [data-label]::before {
    font-size: 16px !important;
    line-height: 1.6;
    text-transform: none;
    letter-spacing: normal;
  }

  body:has(.capex-r145) .capex-r145 table :is(thead, tbody, tfoot) th {
    color: var(--capex-readable-muted);
  }

  /* Компактный масштаб для многоколоночных финансовых регистров (10–15 колонок) и таблиц в гармошках */
  body:has(.capex-r145) .capex-r145 :is(.capex-table-register, .capex-table-wide, .data-table),
  body:has(.capex-r145) .capex-r145 :is(.capex-table-register, .capex-table-wide, .data-table) :is(th, td),
  body:has(.capex-r145) .capex-r145 :is(.capex-table-register, .capex-table-wide, .data-table) :is(thead, tbody, tfoot) th {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  /* Figure captions and the source subtitle use a slightly larger reading size. */
  body:has(.capex-r145) .capex-r145 :is(caption, figcaption, .capex-source-title),
  body:has(.capex-r145) .capex-r145 :is(caption, figcaption) small,
  body:has(.capex-r145) .capex-r145 .viz-title p {
    font-size: 17px !important;
    line-height: 1.6;
    text-transform: none;
    letter-spacing: normal;
    color: var(--capex-readable-muted);
  }

  /* Supplementary text and labels, with the same floor on mobile. */
  body:has(.capex-r145) .capex-r145 :is(
    .capex-reading-help,
    .capex-source-link,
    .capex-toc-number,
    .source-anchor,
    .note,
    .viz-foot,
    .viz-status,
    .legend,
    .finance-context,
    .render-placeholder,
    .path-label,
    .gate-type,
    .reading-route,
    .reading-term-note,
    .reading-glossary,
    .reading-disclosure-body > p,
    .content-status,
    .content-provenance,
    .content-status p,
    .content-provenance p
  ),
  body:has(.capex-r145) .capex-r145 .capex-toc a,
  body:has(.capex-r145) .capex-r145 .scenario-desc :is(strong, p),
  body:has(.capex-r145) .capex-r145 .capex-visual-context > p,
  body:has(.capex-r145) .capex-r145 .capex-exit-group > details > summary,
  body:has(.capex-r145) .capex-r145 :is(.process-strip, .info-rail, .math-strip) > :is(span, div),
  body:has(.capex-r145) .capex-r145 .process-flow :is(b, small),
  body:has(.capex-r145) .capex-r145 .gate :is(strong, p),
  body:has(.capex-r145) .capex-r145 .reading-context p,
  body:has(.capex-r145) .capex-r145 .reading-disclosure summary,
  body:has(.capex-r145) .capex-r145 small,
  body:has(.capex-r145) .capex-r145 code {
    font-size: 16px !important;
    line-height: 1.6;
    text-transform: none;
    letter-spacing: normal;
  }

  body:has(.capex-r145) .capex-r145 :is(caption, figcaption, .capex-source-title) small {
    font-size: 17px !important;
  }

  body:has(.capex-r145) .capex-r145 :is(
    .capex-reading-help,
    .note,
    .viz-foot,
    .viz-status,
    .legend,
    .finance-context,
    .render-placeholder,
    .reading-term-note,
    .content-status,
    .content-provenance
  ),
  body:has(.capex-r145) .capex-r145 .scenario-desc p,
  body:has(.capex-r145) .capex-r145 .capex-visual-context > p,
  body:has(.capex-r145) .capex-r145 .gate p,
  body:has(.capex-r145) .capex-r145 :is(.stat, .scenario-kpis, .finance-bridge) small {
    color: var(--capex-readable-muted);
  }

  /* Keep the larger KPI values and H1/H2/H3 sizes in their existing layers. */
  body:has(.capex-r145) .capex-r145 :is(.controls, .master-controls, .scenario-bar) :is(label, select),
  body:has(.capex-r145) .capex-r145 .controls .check,
  body:has(.capex-r145) .capex-r145 .btn {
    font-size: 16px !important;
    line-height: 1.5;
    text-transform: none;
    letter-spacing: normal;
  }

  body:has(.capex-r145) .capex-r145 .gate > div {
    flex-wrap: wrap;
    row-gap: 6px;
  }

  /* In-page metadata and chapter navigation (sidebar and global header shell preserve prototype.css scale) */
  body:has(.capex-r145) :is(
    .lab-page-note,
    .lab-demo-note,
    .reading-meta,
    .meta-version,
    .hero-note,
    .note-line,
    .footer-inner,
    .chapter-close small
  ),
  body:has(.capex-r145) .chapter-close > a {
    font-size: 16px !important;
    line-height: 1.5;
    text-transform: none;
    letter-spacing: normal;
  }

  body:has(.capex-r145) :is(
    .lab-page-note,
    .lab-demo-note,
    .reading-meta,
    .meta-version,
    .hero-note,
    .note-line,
    .footer-inner,
    .chapter-close small
  ) {
    color: var(--capex-readable-muted);
  }
}
