/* ============================================================
   Part Two: The Handoff Stopped Being a File — page-only styles (R-121).
   Loads after /styles/e.css and only adds to the R-120(b) primitives.
   Newsreader only; colours are direction E tokens (.dir-e in e.css).
   ============================================================ */

.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Masthead stamp and the former metric strip (now .e-facts). */
.e-masthead .ho-stamp { margin-top: 40px !important; margin-bottom: 0 !important; font-size: var(--t-label); }
.dir-e .ho-facts { padding-top: 16px; }
.ho-facts .e-facts { margin-top: 0; }

/* Prose that resumes after a figure or a table. */
.e-prose.ho-after { margin-top: 64px; }
.dir-e .ho-punct { font-size: var(--t-pull); line-height: 1.25; font-weight: 300; letter-spacing: -0.01em; }
/* R-127: the runs table's row heads are body text. */
.ho-table--runs tbody th { font-size: var(--t-body); line-height: 1.55; }
.e-prose > .ho-punct { margin-top: 40px !important; }
.e-prose.ho-after > .ho-punct:first-child { margin-top: 0 !important; }
.dir-e .e-prose .ho-link a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; text-decoration-color: var(--e-underline); }
.e-prose ul:not([class]) li:last-child { border-bottom: 1px solid var(--e-rule); }

/* ---------- Chart: the handoff's before-after SVG, in direction E ---------- */
.ho-chart-fig .ho-chart { overflow-x: auto; padding: 28px 24px 12px; box-sizing: border-box; }
.ho-chart svg { width: 100%; min-width: 720px; height: auto; }
.ho-chart text { fill: var(--e-ink); font-family: "Newsreader", Georgia, serif; }
.ho-chart .c-rule line { stroke: var(--e-ink); stroke-width: 1; }
.ho-chart .c-rule .c-soft { stroke: var(--e-rule); }
.ho-chart .c-track { stroke: #CFCCC3; stroke-width: 1.6; }
.ho-chart .c-leader { stroke: var(--e-rule); stroke-width: 1; }
.ho-chart .c-accent-line { stroke: var(--e-ink); stroke-width: 1.4; }
.ho-chart .c-bar { fill: var(--e-ink); }
.ho-chart .c-serif { font-size: 19px; }
.ho-chart .c-note { font-size: 16px; }
.ho-chart .c-small { font-size: 14px; }
.ho-chart .c-accent { font-weight: 500; }
.ho-chart .c-soft-ink, .ho-chart .c-soft-ink text { fill: var(--e-soft); }
.ho-chart:focus-visible { outline: 2px solid var(--e-ink); outline-offset: 3px; }

/* ---------- Tables ---------- */
.e-table:focus-visible { outline: 2px solid var(--e-ink); outline-offset: 3px; }
.ho-table table { min-width: 640px; }
.ho-table--flow td:first-child { width: 52%; }
.ho-table--credit td { width: 50%; }
.ho-table--runs tbody th { width: 18%; color: var(--e-soft); }
.ho-owner { white-space: nowrap; }
.e-table .ho-status th, .e-table .ho-status td { border-top: 1px solid var(--e-ink); }
.e-table .ho-status th { color: var(--e-soft); }
.e-table .ho-status .is-queued { color: var(--e-body-soft); }

/* The clip sits flush in its white figure box. */
.e-figure-media .ho-clip { box-shadow: none; }

/* Mobile: tables stack, each value keeps its column name (data-k) as a serif label. */
@media (max-width: 640px) {
    .e-table { overflow: visible; }
    .ho-table table, .ho-table tbody, .ho-table tr, .ho-table td, .ho-table tbody th { display: block; width: auto !important; min-width: 0; white-space: normal; }
    .ho-table thead { display: none; }
    .ho-table tr { padding: 18px 0; border-bottom: 1px solid var(--e-rule); }
    .ho-table tbody tr:first-child { border-top: 1px solid var(--e-rule); }
    .e-table.ho-table td, .e-table.ho-table tbody th, .e-table .ho-status th, .e-table .ho-status td { border: 0; padding: 0 0 8px; }
    .e-table .ho-status { border-top: 1px solid var(--e-ink); }
    .ho-table--runs tbody th { color: var(--e-ink); font-size: var(--t-body); }
    .ho-table td[data-k]::before { content: attr(data-k); display: block; font-size: var(--t-label); color: var(--e-soft); margin-top: 8px; margin-bottom: 2px; }
    .ho-chart-fig .ho-chart { padding: 20px 16px 8px; }
    .e-prose.ho-after { margin-top: 48px; }
}
