/* Page styles: Executive branch (/executive, /executive/<id>) and the president section on people pages (.ex-psec).
   The Public Ledger edition. Tokens and shared components live in css/style.css (see site/DESIGN.md).
   Every class here is prefixed .ex-. No shadows, gradients, blur, glow or rounded corners. */

/* ---------- type bits ---------- */
.ex-head h1 { max-width: 960px; }
.ex-k { font: 700 var(--fs-2xs)/1.2 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); margin: 0 0 8px; }
.ex-dc { font-size: var(--fs-sm); line-height: 1.55; color: var(--ink-2); margin: 0 0 var(--s-3); }
.ex-none { font-family: var(--font-display); font-style: italic; font-size: var(--fs-sm); color: var(--ink-3); margin: var(--s-2) 0 var(--s-4); }
.ex-d { font-size: 12.5px; color: var(--ink-2); white-space: nowrap; }
.ex-ext { overflow-wrap: anywhere; }
.ex-hl { font-weight: 700; color: var(--ink); }

/* ---------- lead: the presidential record ---------- */
.ex-lead { border-top: var(--heavy); padding-top: var(--s-4); margin-bottom: var(--s-6); }
.ex-lead-top { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-5); flex-wrap: wrap; margin-bottom: var(--s-3); }
.ex-fig-h { font-family: var(--font-display); font-size: var(--fs-xl); line-height: 1.12; margin: 0 0 6px; }
.ex-fig-d { font-family: var(--font-display); font-style: italic; font-size: var(--fs-md); color: var(--ink-2); max-width: 760px; margin: 0; line-height: 1.4; }
.ex-seg { flex-shrink: 0; }
.ex-segs { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: flex-end; }
.ex-key { margin: var(--s-2) 0 var(--s-3); align-items: center; }
.ex-key .ex-key-h { color: var(--ink); border-left: var(--hair-2); padding-left: 10px; }
.ex-key .ex-key-h:first-child { border-left: 0; padding-left: 0; }
.ex-key i.ex-key-gap { background: var(--paper-2); border-bottom: 1.5px dotted var(--ink-3); height: 10px; }
.ex-key i.ex-key-part { background: var(--paper-2); opacity: .55; border-top: 1px dashed var(--ink-3); height: 10px; }
.ex-key .ex-key-cov { font-weight: 700; }
/* hatched swatches carry a light tint of their ink underneath, so the hatching never reads as empty */
.ex-key i.hatch::before, .ex-fig-l i.hatch::before { content: ""; position: absolute; inset: 0; background: var(--hc); opacity: .18; }
html[data-theme="night"] .ex-key i.hatch::before, html[data-theme="night"] .ex-fig-l i.hatch::before { opacity: .34; }
.ex-key-sm { font-size: 10px; gap: 2px 12px; margin: 6px 0 0; }
.ex-rec-wrap { position: relative; min-height: 120px; }
.ex-fig-cap { font-family: var(--font-display); font-style: italic; font-size: var(--fs-sm); color: var(--ink-3); line-height: 1.5; margin: var(--s-3) 0 0; padding-top: var(--s-2); border-top: var(--hair); }

/* chart internals */
.ex-rec .ex-term-bg { fill: var(--paper); }
.ex-rec .ex-term-bg.alt { fill: var(--paper-2); }
.ex-rec .ex-term { cursor: pointer; }
.ex-rec .ex-term:hover .ex-term-bg, .ex-rec .ex-term:focus .ex-term-bg { fill: var(--paper-3); }
.ex-rec .ex-term.is-on .ex-term-bg { fill: var(--paper-3); stroke: var(--ink); stroke-width: 1.5; }
.ex-rec .ex-term:focus { outline: none; }
.ex-rec .ex-term:focus-visible .ex-term-bg { stroke: var(--red); stroke-width: 2; }
.ex-rec .ex-term-n { fill: var(--ink); font: 700 12.5px var(--font-display); letter-spacing: 0; }
.ex-rec .ex-term-n.ex-rot { font-size: 11px; }
.ex-rec .ex-term-y { fill: var(--ink-3); font: 11px var(--mono); letter-spacing: 0; }
.ex-rec .ex-term-rule { stroke: var(--rule); stroke-width: 1; }
.ex-rec .ex-gap { fill: var(--paper-2); }
.ex-rec .ex-gap-base { stroke: var(--ink-3); stroke-width: 1.5; stroke-dasharray: 1.5 3.5; }
.ex-rec .ex-gap-h { fill: var(--ink); font: 700 13px var(--mono); letter-spacing: .02em; }
.ex-rec .ex-gap-t { fill: var(--ink-2); font: italic 15px var(--font-display); letter-spacing: 0; }
.ex-rec .ex-gap-s { fill: var(--ink-3); font: italic 13px var(--font-display); letter-spacing: 0; }
.ex-rec .ex-grid { stroke: var(--grid); stroke-width: 1; }
.ex-rec .ex-col:focus { outline: none; }
.ex-rec .ex-col:focus-visible .hit { stroke: var(--red); stroke-width: 1.5; fill: var(--mark); }
.ex-rec.is-compact .ex-gap-t { font-size: 12.5px; }
.ex-rec .ex-partial { fill: var(--paper-2); opacity: .55; }
html[data-theme="night"] .ex-rec .ex-partial { fill: var(--paper-3); opacity: .9; }
html[data-theme="night"] .ex-key i.ex-key-part { background: var(--paper-3); opacity: 1; }
.ex-rec .ex-gap-tc { font-size: 13.5px; }
.ex-rec .ex-brk { fill: none; stroke: var(--ink); stroke-width: 1.2; }
.ex-rec .ex-off { fill: var(--paper-2); }
.ex-rec .ex-off-t { font-size: 12px; fill: var(--ink-3); }
@media (max-width: 640px) { .ex-segs .seg button, .ex-fbar .fbar-sel select, .ex-fbar .fbar-search input, .ex-fbar .chip { min-height: 40px; } }
.ex-rec .ex-partial-top { stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 3 3; }
.ex-rec .ex-hbase { opacity: .18; }
html[data-theme="night"] .ex-rec .ex-hbase, html[data-theme="night"] .ex-arms-svg .ex-hbase { opacity: .34; }
html[data-theme="night"] .ex-rec .ex-hbar, html[data-theme="night"] .ex-arms-svg .ex-hbar { stroke-width: 1.2; }
.ex-arms-svg .ex-hbase { opacity: .18; }
.ex-arms-svg .ex-grid { stroke: var(--grid); stroke-width: 1; }
.ex-arms-svg .ex-zero { stroke: var(--ink-3); stroke-width: 1.2; }
.ex-rec .ex-frus-l { font-size: 10.5px; }

/* ---------- row of three under the lead ---------- */
.ex-row3 { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); margin-bottom: var(--s-9); }
.ex-row3 > * + * { border-left: var(--hair); padding-left: var(--s-6); }
.ex-gapnote .ex-dc:first-of-type { font-family: var(--font-display); font-size: var(--fs-base); line-height: 1.5; color: var(--ink); }
.ex-gapnote .ex-dc:first-of-type::first-letter { font-weight: 700; }
.ex-defs { list-style: none; margin: 0 0 var(--s-4); padding: 0; }
.ex-defs li { font-size: var(--fs-sm); line-height: 1.45; color: var(--ink-2); padding: 6px 0; border-bottom: 1px dotted var(--rule-2); }
.ex-defs b { display: block; font-family: var(--font-display); font-size: 15.5px; color: var(--ink); }
@media (max-width: 1000px) {
  .ex-row3 { grid-template-columns: 1fr 1fr; }
  .ex-row3 > :nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-5); }
}
@media (max-width: 640px) {
  .ex-row3 { grid-template-columns: 1fr; gap: var(--s-5); }
  .ex-row3 > * + * { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-5); }
  .ex-fig-h { font-size: var(--fs-lg); }
  .ex-fig-d { font-size: var(--fs-base); }
}

/* ---------- sections ---------- */
.ex-sec { margin-bottom: var(--s-9); }
/* signal red is kept for one key figure per block: section numerals, quote marks and selections are ink here */
.ex-sec .shead-num, .ex-psec .shead-num { color: var(--ink); }
/* tier chips wrap on phones instead of scrolling sideways */
@media (max-width: 640px) { .ex-fbar.fbar .fbar-group { flex-wrap: wrap; overflow: visible; } }
.ex-premsg { border-top: var(--heavy); padding-top: var(--s-3); }

/* roster: a two-column ledger of presidencies */
.ex-roster { margin: 0 0 var(--s-5); border-top: var(--hair-2); }
.ex-roster-top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-7); }
/* the roster reads down each column, newest first */
.ex-roster-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(var(--rows), auto); grid-auto-flow: column; column-gap: var(--s-7); }
.ex-roster-note { margin-top: var(--s-2); }
@media (max-width: 800px) { .ex-roster-top, .ex-roster-list { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; } }
.ex-r { all: unset; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) auto 3.2em 84px; align-items: center; gap: 10px; padding: 7px 4px; border-bottom: var(--hair); cursor: pointer; min-height: 36px; }
.ex-r-all { grid-template-columns: minmax(0, 1fr) auto 3.2em 84px; border-bottom: var(--hair-2); }
.ex-r:hover { background: var(--paper-2); }
.ex-r:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.ex-r[aria-pressed="true"] { background: var(--paper-2); outline: 1.5px solid var(--ink); outline-offset: -1.5px; }
.ex-r[aria-pressed="true"]:focus-visible { outline: 2px solid var(--red); }
.ex-r-n { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.ex-r-nm { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ex-r-nm small { display: block; font: italic 400 12.5px/1.2 var(--font-display); color: var(--ink-3); white-space: normal; }
.ex-r-p { display: inline-block; width: 4px; height: 15px; flex-shrink: 0; }
.ex-r-y { font: 12px var(--mono); color: var(--ink-3); white-space: nowrap; }
.ex-r-c { font: 700 13px var(--mono); color: var(--ink); text-align: right; }
.ex-r-none { grid-column: span 2; text-align: left; font: italic 13px var(--font-display); color: var(--ink-3); }
.ex-r-bar { display: block; height: 7px; background: none; border-left: 1px solid var(--axis); }
.ex-r-bar i { display: block; height: 100%; background: var(--cat-a); }
.ex-r.is-pre .ex-r-n { color: var(--ink-2); font-weight: 400; }
@media (max-width: 800px) { .ex-roster { grid-template-columns: 1fr; } }
@media (max-width: 1000px) { .ex-r { min-height: 44px; } }
@media (max-width: 420px) { .ex-r, .ex-r-all { grid-template-columns: minmax(0, 1fr) auto 2.6em 48px; gap: 8px; } .ex-r-n { font-size: 15px; } }

/* the selected presidency's file card */
.ex-file { margin: 0 0 var(--s-5); }
.ex-file-in { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s-6); align-items: center; border-top: var(--heavy); border-bottom: var(--hair-2); padding: var(--s-4) 0; }
.ex-file-who { display: flex; gap: var(--s-4); align-items: flex-start; min-width: 0; }
.ex-file-who h3 { font-family: var(--font-display); font-size: var(--fs-xl); line-height: 1.1; margin: 0 0 6px; }
.ex-file-who h3 a { text-decoration: none; }
.ex-file-av { flex-shrink: 0; }
.ex-file-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); border-left: var(--hair); }
.ex-fig { display: flex; flex-direction: column; gap: 4px; padding: 0 var(--s-3); border-right: var(--hair); }
.ex-fig-n { font: 700 var(--fs-xl)/1 var(--font-display); color: var(--ink); font-variant-numeric: lining-nums; }
.ex-fig-l { display: inline-flex; align-items: center; gap: 6px; font: 700 10.5px/1.3 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.ex-fig-l i { display: inline-block; width: 11px; height: 9px; flex-shrink: 0; position: relative; }
.ex-fig-l i.hatch { border: 1px solid var(--hc); }
.ex-fig-l i.outline { background: var(--paper); border: 1.5px solid var(--hc); }
.ex-file-x { position: absolute; right: 0; top: -36px; }
@media (max-width: 800px) {
  .ex-file-in { grid-template-columns: 1fr; gap: var(--s-4); }
  .ex-file-figs { border-left: 0; border-top: var(--hair); padding-top: var(--s-3); }
  .ex-fig:first-child { padding-left: 0; }
  .ex-file-x { position: static; justify-self: start; }
  .ex-file-who h3 { font-size: var(--fs-lg); }
}

/* table cells */
.ex-t { font-family: var(--font-display); font-weight: 700; color: var(--ink); overflow-wrap: anywhere; line-height: 1.3; }
.ex-t-k { display: block; font: 700 10.5px/1.4 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 2px; }
.ex-t-k .mono { letter-spacing: 0; text-transform: none; font-weight: 400; }
.ex-t-s { display: block; font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.4; margin-top: 2px; overflow-wrap: anywhere; }
.ex-t-x { display: block; font-family: var(--font-display); font-style: italic; font-size: var(--fs-xs); color: var(--ink-2); margin-top: 3px; line-height: 1.45; }
@media (max-width: 640px) { .dt.cards td .ex-t-s { text-align: right; } }

/* ---------- arms sales ---------- */
.ex-arms-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s-7); margin-bottom: var(--s-5); align-items: start; }
.ex-arms-top > :last-child { border-left: var(--hair); padding-left: var(--s-6); }
.ex-arms-note .callout { font-size: var(--fs-sm); margin: 0 0 var(--s-4); display: block; border-left-color: var(--ink); }
.ex-arms-fig { margin: 0; }
.ex-arms-fig figcaption { font: 700 var(--fs-2xs)/1.2 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); margin-bottom: 6px; }
@media (max-width: 900px) { .ex-arms-top { grid-template-columns: 1fr; gap: var(--s-5); } .ex-arms-top > :last-child { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-4); } }

/* ---------- "what they said" ---------- */
.ex-said { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--s-6); margin-bottom: var(--s-3); }
.ex-q { margin: 0 0 var(--s-5); padding-top: var(--s-3); border-top: var(--heavy); display: flex; flex-direction: column; min-width: 0; }
.ex-said > .ex-q:nth-child(3n + 2), .ex-said > .ex-q:nth-child(3n + 3) { border-left: 0; }
.ex-q blockquote { margin: 0 0 var(--s-3); font-family: var(--font-display); font-size: 17px; line-height: 1.5; color: var(--ink-2); overflow-wrap: anywhere; }
.ex-q blockquote::before { content: "“"; float: left; font: 700 46px/0.8 var(--font-display); color: var(--ink-3); margin: 4px 6px 0 0; }
.ex-q figcaption { margin-top: auto; font: 700 10.5px/1.5 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); border-top: var(--hair); padding-top: 6px; }
.ex-q-who { color: var(--ink); }
.ex-q-t { display: inline; font: 400 var(--fs-xs)/1.4 var(--font-body); letter-spacing: 0; text-transform: none; color: var(--ink-2); margin-top: 3px; }
.ex-said-doc { grid-template-columns: 1fr; }
.ex-said-doc .ex-q blockquote { font-size: var(--fs-md); }
@media (max-width: 1000px) { .ex-said { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .ex-said { grid-template-columns: 1fr; } .ex-q blockquote { font-size: 16px; } }

/* ---------- FRUS pending ---------- */
.ex-pending { border-top: var(--hair-2); border-bottom: var(--hair-2); padding: var(--s-4) 0; max-width: 820px; background: none; }
.ex-pending .ex-k { color: var(--ink); }
.ex-pending .ex-dc { font-family: var(--font-display); font-size: var(--fs-base); color: var(--ink); }

/* ---------- sources ---------- */
.ex-src { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.ex-src-tw { min-width: 0; }
.ex-src-t { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); border-bottom: var(--hair-2); }
.ex-src-t tbody tr:last-child > * { border-bottom: 0; }
.ex-src-t th { position: static; background: none; }
.ex-src-t th, .ex-src-t td { text-align: left; vertical-align: top; padding: 8px 10px 8px 0; border-bottom: var(--hair); }
.ex-src-t thead th { font: 700 var(--fs-2xs)/1.2 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink); border-bottom: var(--heavy); }
.ex-src-t tbody th { white-space: normal; font: 700 15.5px/1.35 var(--font-display); letter-spacing: 0; text-transform: none; color: var(--ink); width: 34%; }
.ex-src-t td:last-child { width: 38%; }
.ex-src-t .num { text-align: right; white-space: nowrap; }
.ex-src-t td:last-child { color: var(--ink-2); }
.ex-src-notes .ed-note { margin: 0 0 var(--s-4); }
@media (max-width: 900px) { .ex-src { grid-template-columns: 1fr; gap: var(--s-5); } }
@media (max-width: 640px) {
  .ex-src-t td:last-child, .ex-src-t thead th:last-child { display: none; }
  .ex-src-t thead th.num { white-space: normal; }
  .ex-src-t tbody th { width: auto; font-size: 14.5px; white-space: normal; }
  .ex-src-t td.num { white-space: normal; }
  .ex-src-t th, .ex-src-t td { padding-right: 8px; }
}

/* ---------- lists (detail page, people section) ---------- */
.ex-list { list-style: none; margin: 0 0 var(--s-4); padding: 0; border-top: var(--hair-2); }
.ex-list li { display: grid; grid-template-columns: 112px 170px minmax(0, 1fr); gap: 4px 14px; align-items: baseline; padding: 7px 0; border-bottom: var(--hair); }
.ex-li-d { font: 12.5px var(--mono); color: var(--ink-2); }
.ex-li-k { font: 700 10.5px/1.3 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.ex-li-t { font-family: var(--font-display); font-weight: 700; color: var(--ink); overflow-wrap: anywhere; line-height: 1.3; }
.ex-doc aside .ex-list li, .ex-near-k + .ex-list li { grid-template-columns: 1fr; gap: 2px; }
.ex-psec .ex-near-k + .ex-list li { grid-template-columns: 112px 170px minmax(0, 1fr); gap: 4px 14px; }
@media (max-width: 640px) { .ex-list li, .ex-psec .ex-near-k + .ex-list li { grid-template-columns: 1fr; gap: 2px; } }
.ex-near-k { margin-top: var(--s-5); }
.ex-list-wide li, .ex-near-k + .ex-list-wide li { grid-template-columns: 112px 200px minmax(0, 1fr); gap: 4px 14px; }
@media (max-width: 640px) { .ex-list-wide li, .ex-near-k + .ex-list-wide li { grid-template-columns: 1fr; gap: 2px; } }
.ex-nf { display: flex; gap: 10px; max-width: 640px; margin: 0 0 var(--s-5); border-bottom: 1px solid var(--rule-3); padding-bottom: 6px; }
.ex-nf input { flex: 1; min-width: 0; background: none; border: 0; color: var(--ink); font: italic var(--fs-md) var(--font-display); padding: 6px 0; }
.ex-nf input:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

/* ---------- single document ---------- */
.ex-doc .page-head h1 { font-size: clamp(30px, 4vw, 48px); }
.ex-doc-grid { align-items: start; margin-bottom: var(--s-8); }
.ex-kv { margin: 0 0 var(--s-4); border-top: var(--heavy); }
.ex-kv > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: var(--hair); }
.ex-kv dt { font: 700 var(--fs-2xs)/1.5 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); }
.ex-kv dd { margin: 0; font-size: var(--fs-sm); color: var(--ink); overflow-wrap: anywhere; }
.ex-arms-card { margin-bottom: var(--s-5); }
.ex-equip { font-size: var(--fs-sm); line-height: 1.55; color: var(--ink-2); margin: var(--s-4) 0; }
.ex-equip .ex-k { display: block; }
.ex-said-k { margin-top: var(--s-3); }
.ex-doc-links { display: flex; gap: var(--s-5); flex-wrap: wrap; margin: var(--s-4) 0; }

/* ---------- people pages: "Actions on Israel" ---------- */
.ex-psec { margin: var(--s-8) 0; }
.ex-psec-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; }
.ex-psec-grid > :last-child { border-left: var(--hair); padding-left: var(--s-5); }
.ex-psec .ex-said { grid-template-columns: 1fr 1fr; }
.ex-psec-gap .ed-note { max-width: 820px; }
@media (max-width: 900px) { .ex-psec-grid { grid-template-columns: 1fr; } .ex-psec-grid > :last-child { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-4); } }
@media (max-width: 640px) { .ex-psec .ex-said { grid-template-columns: 1fr; } }

/* ---------- round 4 ---------- */
.ex-roster-top { padding: 4px 0; }
.ex-roster-h { display: flex; align-items: center; gap: 10px; margin: var(--s-3) 0 0; padding-bottom: 6px; border-bottom: var(--heavy); font: 700 var(--fs-2xs)/1.2 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink); }
.ex-capgrid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; margin-top: var(--s-3); padding-top: var(--s-2); border-top: var(--hair); }
.ex-capgrid .ex-fig-cap { margin: 0; padding: 0; border: 0; }
.ex-rt { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.ex-rt caption { text-align: left; font: 700 var(--fs-2xs)/1.2 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink); padding-bottom: 6px; border-bottom: var(--heavy); }
.ex-rt th, .ex-rt td { padding: 5px 8px 5px 0; border-bottom: var(--hair); text-align: left; vertical-align: top; position: static; background: none; }
.ex-rt thead th { font: 700 10.5px/1.2 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.ex-rt tbody th { font: 700 13.5px/1.3 var(--font-display); color: var(--ink); text-transform: none; letter-spacing: 0; }
.ex-rt .num { text-align: right; white-space: nowrap; }
.ex-rt .ex-rt-note td { font: italic 12.5px/1.4 var(--font-display); color: var(--ink-3); padding-top: 0; }
@media (max-width: 900px) { .ex-capgrid { grid-template-columns: 1fr; gap: var(--s-4); } }
.ex-segs .seg button, .ex-r, .ex-nf input, .ex-nf .btn { min-height: 40px; }
.ex-dek { font-family: var(--font-display); font-style: italic; font-size: var(--fs-md); color: var(--ink-2); margin-top: 6px; }

/* ---------- the diplomatic record (FRUS) ---------- */
.ex-r-fbar i { background: var(--paper); border: 1.5px solid var(--cat-c); box-sizing: border-box; }
.ex-frus-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s-7); margin-bottom: var(--s-5); align-items: start; }
.ex-frus-top > :last-child { border-left: var(--hair); padding-left: var(--s-6); }
.ex-frus-top .callout { display: block; font-size: var(--fs-sm); margin: 0 0 var(--s-4); border-left-color: var(--ink); }
.ex-fbars { list-style: none; margin: 0; padding: 0; }
.ex-fbars li { display: grid; grid-template-columns: 170px minmax(0, 1fr) 4em; gap: 10px; align-items: center; padding: 4px 0; border-bottom: var(--hair); font-size: var(--fs-sm); }
.ex-fbars i { display: block; height: 9px; width: var(--w); background: var(--paper); border: 1.5px solid var(--cat-c); box-sizing: border-box; min-width: 2px; }
.ex-fbars b { text-align: right; font-size: 12.5px; }
.ex-frus-ctl { margin: 0 0 var(--s-3); overflow-x: auto; }
.ex-pre { font-style: italic; }
.ex-psec-frus { margin-top: var(--s-3); }
.ex-pre-frus { margin-top: var(--s-3); }
@media (max-width: 900px) { .ex-frus-top { grid-template-columns: 1fr; gap: var(--s-5); } .ex-frus-top > :last-child { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-4); } }
@media (max-width: 640px) { .ex-fbars li { grid-template-columns: 110px minmax(0, 1fr) 3.4em; } }
.ex-rec .ex-fb-pend { fill: none; stroke: var(--cat-c); stroke-width: 1.2; stroke-dasharray: 3 3; }
.ex-rec .ex-fb-pend-t { fill: var(--ink-3); font: italic 11.5px var(--font-display); letter-spacing: 0; }
.ex-pend { list-style: none; margin: 0 0 var(--s-4); padding: 0; border-top: var(--hair-2); }
.ex-pend li { padding: 6px 0; border-bottom: var(--hair); font-size: var(--fs-sm); }
.ex-r-pendbar i { width: 100%; background: none; border: 1.2px dashed var(--cat-c); box-sizing: border-box; }
.ex-fbars-pend i { background: none !important; border: 1.2px dashed var(--cat-c) !important; }
.ex-fbars-pend b { font: italic 12px var(--font-display); color: var(--ink-3); text-align: right; }
.ex-rec .ex-off-sm { font-size: 11px; }
.ex-rec .ex-ax-in { fill: var(--ink-3); }
.ex-r-nm small:empty { display: block; }
.ex-key i.ex-key-pend { background: none; border: 1.2px dashed var(--cat-c); height: 10px; }

/* round 7: split bars (heading | pre-state hatched), axis halos, nowrap */
.ex-r-fbar { display: flex; gap: 0; }
.ex-r-fbar i { flex: none; }
i.ex-r-pre { position: relative; display: block; height: 100%; background: none !important; border: 1.5px solid var(--hc); box-sizing: border-box; }
i.ex-r-pre::after { content: ""; position: absolute; inset: 0; background-color: var(--hc); -webkit-mask: var(--hatch-mask) repeat; mask: var(--hatch-mask) repeat; }
.ex-fbar2 { display: flex; align-items: center; min-width: 0; }
.ex-fbar2 i { display: block; height: 9px; width: var(--w); background: var(--paper); border: 1.5px solid var(--cat-c); box-sizing: border-box; min-width: 2px; flex: none; }
.ex-fbars li small { grid-column: 1 / -1; font: italic 12px var(--font-display); color: var(--ink-3); margin-top: -2px; }
.ex-fbars-pend b { white-space: nowrap; }
.ex-rec .ex-ax-in, .ex-rec > text { paint-order: stroke; stroke: var(--paper); stroke-width: 3px; stroke-linejoin: round; }
.ex-rec .ex-zero-strong { stroke: var(--cat-c); stroke-width: 1.5; }
.ex-frus-ctl .seg { width: max-content; max-width: none; }
.ex-frus-ctl { max-width: 100%; }
@media (max-width: 640px) { .ex-fbars li { grid-template-columns: 96px minmax(0, 1fr) max-content; } }
