/* GENERATED by tools/uai-podcast/series/publish.py from charts.VIZ_CSS_*.
 * Do not edit: the figures in the printed PDF and the figures on the web page are
 * the same SVG, and this is the stylesheet that makes them look the same. Change
 * charts.py and republish. */
.uaim-article .table-wrap, .uaim-article .viz, .uaim-article .viz-diag { overflow-x: auto; }
/* Prose tables, which arrive from markdown with no wrapper of their own. */
.uaim-article table { display: block; max-width: 100%; overflow-x: auto; }
.uaim-article .viz table, .uaim-article .table-wrap table { display: table; }

.viz { --viz-surface:#ffffff; margin: 1.4em 0; page-break-inside: avoid; }
.viz-title { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 10pt; font-weight: 700; margin-bottom: .5em; }
.viz svg { display: block; }
.viz-lab { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 10px; fill: var(--viz-text-2, #5d6470); }
.viz-val { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 10px; font-weight: 700; fill: var(--viz-text-1, #16181d); }
.viz-axis { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 9px; fill: var(--viz-text-2, #5d6470); }
.viz-grid { stroke: var(--viz-rule, #d8dce2); stroke-width: 1; }
.viz-note { font-size: 8.6pt; color: var(--viz-text-2, #5d6470);
  margin-top: .5em; font-style: italic; }
.viz-legend { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 9pt; margin-bottom: .4em; }
.viz-chip { margin-right: 1em; white-space: nowrap; }
.viz-chip i { display: inline-block; width: 10px; height: 10px; border-radius: 2px;
  margin-right: 5px; vertical-align: -1px; }
.viz .viz-swatch { display: inline-block; vertical-align: -2px; margin-right: 5px; }
.viz-stats { display: flex; flex-wrap: wrap; gap: 14px; }
.viz-stat { flex: 1 1 130px; border-left: 3px solid #2a78d6; padding: 2px 0 2px 10px; }
.viz-stat-v { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 19pt; font-weight: 700; line-height: 1.1; }
.viz-stat-l { font-size: 9pt; color: var(--viz-text-2, #5d6470); margin-top: 2px; }
.viz-stat-s { font-size: 8.2pt; color: var(--viz-text-2, #5d6470); }
.viz-data { margin-top: .5em; font-size: 9pt; }
.viz-data > summary { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 8.6pt; font-weight: 700; cursor: pointer; color: var(--viz-text-2,#5d6470); }
.viz-diag { overflow-x: auto; }
.viz-diag-lab { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 11px; font-weight: 700; fill: var(--viz-text-1, #16181d); }
.viz-diag-sub { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 9px; fill: var(--viz-text-2, #5d6470); }
.viz-diag-edge { font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
  font-size: 9px; fill: var(--viz-text-2, #5d6470); }
.viz-table caption { text-align: left; font-size: 8.4pt; color: var(--viz-text-2,#5d6470);
  padding-bottom: 4px; }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {

  .viz { --viz-surface:#1a1a19; --viz-text-1:#ffffff; --viz-text-2:#c3c2b7;
         --viz-rule:#3a3a38; }
  .viz rect[fill="#2a78d6"] { fill:#3987e5; } .viz path[stroke="#2a78d6"] { stroke:#3987e5; }
  .viz circle[fill="#2a78d6"] { fill:#3987e5; } .viz-chip i[style*="#2a78d6"] { background:#3987e5 !important; }
  .viz rect[fill="#eb6834"] { fill:#d95926; } .viz path[stroke="#eb6834"] { stroke:#d95926; }
  .viz circle[fill="#eb6834"] { fill:#d95926; } .viz-chip i[style*="#eb6834"] { background:#d95926 !important; }
  .viz rect[fill="#1baf7a"] { fill:#199e70; } .viz path[stroke="#1baf7a"] { stroke:#199e70; }
  .viz circle[fill="#1baf7a"] { fill:#199e70; } .viz-chip i[style*="#1baf7a"] { background:#199e70 !important; }
  .viz-stat { border-left-color:#3987e5; }
  .viz { --viz-box:#26262b; }

  }
}
:root[data-theme="dark"] {

  .viz { --viz-surface:#1a1a19; --viz-text-1:#ffffff; --viz-text-2:#c3c2b7;
         --viz-rule:#3a3a38; }
  .viz rect[fill="#2a78d6"] { fill:#3987e5; } .viz path[stroke="#2a78d6"] { stroke:#3987e5; }
  .viz circle[fill="#2a78d6"] { fill:#3987e5; } .viz-chip i[style*="#2a78d6"] { background:#3987e5 !important; }
  .viz rect[fill="#eb6834"] { fill:#d95926; } .viz path[stroke="#eb6834"] { stroke:#d95926; }
  .viz circle[fill="#eb6834"] { fill:#d95926; } .viz-chip i[style*="#eb6834"] { background:#d95926 !important; }
  .viz rect[fill="#1baf7a"] { fill:#199e70; } .viz path[stroke="#1baf7a"] { stroke:#199e70; }
  .viz circle[fill="#1baf7a"] { fill:#199e70; } .viz-chip i[style*="#1baf7a"] { background:#199e70 !important; }
  .viz-stat { border-left-color:#3987e5; }
  .viz { --viz-box:#26262b; }

}

.uaim-article .viz {
  --viz-surface: var(--color-bg, #ffffff);
  --viz-text-1: var(--color-text, #16181d);
  --viz-text-2: var(--color-text-muted, #5d6470);
  --viz-rule: var(--color-border, #d8dce2);
}
.uaim-article .viz-title, .uaim-article .viz-note, .uaim-article .viz-stat-l,
.uaim-article .viz-stat-s, .uaim-article .viz-data > summary,
.uaim-article .viz-table caption { color: var(--color-text-muted, #5d6470); }

/* ---- the text companion: structured notes, then the transcript ------------- */
.uaim-notes {
  margin: 1.5rem 0 0.75rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--color-border, #d8dce2);
  background: var(--color-surface, #f6f7f9);
}
.uaim-notes h2 { font-size: 1.15rem; margin: 0 0 0.4rem; }
.uaim-notes h3 {
  font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase;
  margin: 1.1rem 0 0.35rem; color: var(--color-text-muted, #5d6470);
}
.uaim-notes p { line-height: 1.65; margin: 0 0 0.7rem; }
.uaim-notes-intro { font-size: 0.88rem; color: var(--color-text-muted, #5d6470); }
.uaim-notes-run { margin: 0; padding-left: 1.3rem; }
.uaim-notes-run li { margin: 0 0 0.5rem; line-height: 1.6; }
.uaim-notes-sources { margin: 0; padding-left: 1.3rem; font-size: 0.85rem; }
.uaim-notes-sources li { margin: 0 0 0.45rem; line-height: 1.5; overflow-wrap: anywhere; }
.uaim-notes-sources a { text-decoration: underline; overflow-wrap: anywhere; }

.uaim-transcript { margin: 0 0 1.75rem; border-bottom: 1px solid var(--color-border, #d8dce2); }
.uaim-transcript > summary {
  cursor: pointer; font-weight: 700; padding: 0.4rem 0;
  min-height: 44px; display: flex; align-items: center;
}
.uaim-transcript-inner { padding: 0.25rem 0 1rem; }
.uaim-transcript-inner p { line-height: 1.7; margin: 0 0 0.9rem; }
.uaim-transcript-note {
  font-size: 0.85rem; color: var(--color-text-muted, #5d6470);
  border-left: 3px solid var(--color-border, #d8dce2); padding-left: 0.8rem;
}
.uaim-transcript-note a, .uaim-transcript-dl { text-decoration: underline; }
.uaim-transcript blockquote {
  margin: 0 0 0.25rem; padding: 0.55rem 0.9rem;
  border-left: 3px solid var(--color-primary, #3b5bdb);
  background: var(--color-surface, #f6f7f9);
}
.uaim-transcript blockquote p { margin: 0; }
.uaim-quote-source {
  margin: 0 0 1.1rem 0.9rem;
  font-size: 0.78rem; line-height: 1.45;
  color: var(--color-text-muted, #5d6470);
  overflow-wrap: anywhere;
}
/* bq-3174: a citation followed by the source's own characters keeps the two together. */
.uaim-quote-source:has(+ .uaim-quote-literal) { margin-bottom: 0.2rem; }

/* ---- printing this page prints the TRANSCRIPT ------------------------------ */
@media print {
  /* EVERY rule in this block is conditioned on the page HAVING a transcript. A day placed
     before the 2026-09-20 ruling carries no transcript fragment, and the first version of
     this hid its article unconditionally — so printing a legacy episode produced a title,
     a date and nothing else (Astra review of record, P1-6). `:has()` is the condition, and
     its failure direction is the safe one: an engine that does not support it prints the
     whole page, which is what those pages did before this stylesheet existed. */
  body:has(.uaim-transcript) :is(
    .uaim-audio, .ao-reading,
    .uaim-notes, .uaim-route, .uaim-article, .uaim-aside,
    .uaim-nav, .uaim-crumb, .uaim-gap, .uaim-next-inline,
    .uaim-lengths, .uaim-print-off,
    /* The site's own chrome. This stylesheet is linked ONLY by the month episode pages, so
       naming the four layouts' headers and footers here changes nothing anywhere else — and
       without it the first page of the transcript is a printed copy of the navigation bar
       (measured: six pages, page one two-thirds site menu). */
    .site-header, .site-nav, .site-shortcuts, .site-footer, .footer-tiers,
    .um-masthead, .um-folio, .um-footer
  ) { display: none !important; }
  .uaim-transcript { border: 0; }
  .uaim-transcript > summary, .uaim-transcript-note { display: none !important; }
  /* A COLLAPSED <details> DOES NOT PRINT ITS CONTENTS, and `display: block` on the child is
     not enough on its own any more. Two mechanisms, because two generations of engine are in
     the field: the older UA rule hides `details:not([open]) > *:not(summary)` with `display`,
     which the first line overrides; Chromium 131+ hides the whole slot with
     `content-visibility` on `::details-content`, which nothing but the second line reaches.
     Both are written, and the printed output is checked rather than assumed. */
  .uaim-transcript > *:not(summary) { display: block !important; }
  .uaim-transcript { content-visibility: visible !important; }
  .uaim-transcript::details-content {
    content-visibility: visible !important; display: block !important; block-size: auto !important;
  }
  .uaim-transcript-inner { display: block !important; padding: 0; }
  .uaim-transcript blockquote {
    background: none; border-left: 2px solid #999; break-inside: avoid;
  }
  .uaim-quote-source { break-before: avoid; }
  .uaim-page { max-width: none; padding: 0; }
  body:has(.uaim-transcript) .uaim-h1::after { content: " \2014 Transcript"; }
  a[href]::after { content: ""; }
}
