/* Page styles: Congressional documents (/documents, /documents/<id>) and the bill-page section (.cd-bsec).
   The Public Ledger edition. Tokens and shared components live in css/style.css (see site/DESIGN.md).
   Every class here is prefixed .cd-. No shadows, gradients, blur, glow or rounded corners. */

/* ---------- type bits ---------- */
.cd-head h1 { max-width: 980px; }
.cd-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; }
.cd-k-gap { margin-top: var(--s-5); }
.cd-dc { font-size: var(--fs-sm); line-height: 1.55; color: var(--ink-2); margin: 0 0 var(--s-3); }
.cd-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); }
.cd-d { font-size: 12.5px; color: var(--ink-2); white-space: nowrap; }
.cd-yo { font-size: 10px; color: var(--ink-3); margin-left: 1px; }
.cd-num { font-size: 12px; color: var(--ink-3); }
.cd-hl { font-weight: 700; color: var(--ink); }
.cd-ext-l { font: 700 10.5px/1.6 var(--font-label); letter-spacing: .08em; text-transform: uppercase; overflow-wrap: anywhere; }
.cd-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); }

/* ---------- lead: the document record ---------- */
.cd-lead { border-top: var(--heavy); padding-top: var(--s-4); margin-bottom: var(--s-6); }
.cd-lead-top { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-5); flex-wrap: wrap; margin-bottom: var(--s-3); }
.cd-fig-h { font-family: var(--font-display); font-size: var(--fs-xl); line-height: 1.12; margin: 0 0 6px; }
.cd-fig-d { font-family: var(--font-display); font-style: italic; font-size: var(--fs-md); color: var(--ink-2); max-width: 780px; margin: 0; line-height: 1.4; }
.cd-segs { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: flex-end; }
.cd-seg { flex-shrink: 0; }
.cd-key { margin: var(--s-2) 0 var(--s-3); align-items: center; }
.cd-key i.hatch::before, .cd-stamp i.hatch::before { content: ""; position: absolute; inset: 0; background: var(--hc); opacity: .18; }
html[data-theme="night"] .cd-key i.hatch::before, html[data-theme="night"] .cd-stamp i.hatch::before { opacity: .34; }
.cd-rec-wrap { position: relative; min-height: 160px; }

.cd-rec .cd-era { fill: var(--paper-2); }
html[data-theme="night"] .cd-rec .cd-era { fill: var(--paper-3); opacity: .7; }
.cd-rec .cd-era-rule { stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 3 3; }
.cd-rec .cd-era-t { fill: var(--ink-2); font: italic 13px var(--font-display); letter-spacing: 0; }
.cd-rec .cd-grid { stroke: var(--grid); stroke-width: 1; }
.cd-rec .cd-zero { stroke: var(--ink-3); stroke-width: 1.2; }
.cd-rec .cd-hbase { opacity: .18; }
html[data-theme="night"] .cd-rec .cd-hbase { opacity: .34; }
html[data-theme="night"] .cd-rec .cd-hbar { stroke-width: 1.2; }
.cd-rec .cd-col { cursor: pointer; }
.cd-rec .cd-col:focus { outline: none; }
.cd-rec .cd-col:focus-visible .hit { stroke: var(--red); stroke-width: 1.5; fill: var(--mark); }
.cd-rec .cd-rail-h { fill: var(--ink); font: 700 10.5px var(--font-label); letter-spacing: .1em; text-transform: uppercase; }
.cd-rec .cd-rail-l { stroke: var(--ink-2); stroke-width: 1.4; fill: none; }
.cd-rec .cd-rail-l.is-dash { stroke-dasharray: 4 3; }
.cd-rec .cd-rail-t { fill: var(--ink-2); font: 12px var(--font-body); letter-spacing: 0; }
@media (max-width: 640px) { .cd-rec .cd-rail-t { font-size: 11px; } .cd-rec .cd-era-t { font-size: 12px; } }

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

/* ---------- sections ---------- */
.cd-sec { margin-bottom: var(--s-9); }
.cd-sec .shead-num, .cd-bsec .shead-num { color: var(--ink); }
@media (max-width: 640px) {
  .cd-fbar.fbar .fbar-group { flex-wrap: wrap; overflow: visible; }
  .cd-segs .seg button, .cd-fbar .fbar-sel select, .cd-fbar .fbar-search input, .cd-fbar .chip { min-height: 40px; }
}

/* kind stamp: square, small caps, a swatch in the series ink (same encoding as the chart) */
.cd-stamp { display: inline-flex; align-items: center; gap: 5px; font: 700 10px/1 var(--font-label); letter-spacing: .12em; text-transform: uppercase; color: var(--ink); border: 1px solid var(--rule-3); padding: 3px 6px 3px 4px; white-space: nowrap; }
.cd-stamp i { display: inline-block; width: 10px; height: 8px; flex-shrink: 0; position: relative; }
.cd-stamp i.hatch { border: 1px solid var(--hc); }
.cd-stamp i.hatch::after { content: ""; position: absolute; inset: 0; background-color: var(--hc); -webkit-mask: var(--hatch-mask) repeat; mask: var(--hatch-mask) repeat; }
.cd-stamp i.outline { background: var(--paper); border: 1.5px solid var(--hc); }

/* register cells */
.cd-t { font-family: var(--font-display); font-weight: 700; font-size: 16px; color: var(--ink); overflow-wrap: anywhere; line-height: 1.3; text-decoration: none; }
.cd-t:hover { text-decoration: underline; }
.cd-meta { display: block; font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.45; margin-top: 3px; overflow-wrap: anywhere; }
.cd-meta .mono { font-size: 11.5px; color: var(--ink-2); }
.cd-by { color: var(--ink-2); }
.cd-sum { display: block; font-size: var(--fs-xs); color: var(--ink-2); line-height: 1.5; margin-top: 5px; max-width: 74ch; }
.cd-said { display: block; margin-top: 6px; padding-left: 10px; border-left: 2px solid var(--cat-b); max-width: 78ch; }
.cd-flag { display: inline-block; font: 700 10px/1.3 var(--font-label); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); border-bottom: 1px dashed var(--rule-3); margin-right: 4px; }
.cd-q { font-family: var(--font-display); font-style: italic; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.45; }
.cd-chips { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: baseline; margin-top: 7px; }
.cd-chips-k { font: 700 10px/1.6 var(--font-label); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin-right: 2px; }
.cd-bill { display: inline-flex; align-items: baseline; gap: 2px; font: 12px/1.5 var(--mono); color: var(--ink-2); border: 1px solid var(--rule-3); padding: 0 5px; text-decoration: none; white-space: nowrap; }
.cd-bill.is-in { color: var(--ink); border-color: var(--ink); font-weight: 700; }
.cd-bill:hover { color: var(--red-ink); border-color: var(--red); }
.cd-bill:focus-visible { outline: 2px solid var(--red); outline-offset: 1px; }
.cd-ext { font-size: 10px; color: var(--ink-3); }
.cd-more { font: 700 10.5px/1.5 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
@media (max-width: 640px) {
  /* phone cards: date and kind stamp share one line above the title */
  #cd-table.dt.cards tr { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; }
  #cd-table.dt.cards td[data-label="Date"], #cd-table.dt.cards td[data-label="Kind"] { width: auto; display: inline-flex; padding: 0 0 6px; }
  #cd-table.dt.cards td[data-label="Date"]::before, #cd-table.dt.cards td[data-label="Kind"]::before { display: none; }
  #cd-table.dt.cards td.dt-primary { flex-basis: 100%; }
  .dt.cards td .cd-meta, .dt.cards td .cd-sum, .dt.cards td .cd-said { text-align: left; }
  .dt.cards td .cd-chips { justify-content: flex-start; }
  .cd-t { font-size: 15.5px; }
}

/* ---------- § 2 CRS ---------- */
.cd-crs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: var(--s-7); align-items: start; }
.cd-crs-main { border-left: var(--hair); padding-left: var(--s-6); min-width: 0; }
.cd-au { border-top: var(--heavy); }
.cd-au-b { all: unset; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) 2.2em 70px; align-items: center; gap: 10px; width: 100%; padding: 6px 4px; border-bottom: var(--hair); cursor: pointer; min-height: 34px; }
.cd-au-b:hover { background: var(--paper-2); }
.cd-au-b:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.cd-au-b[aria-pressed="true"] { background: var(--paper-2); outline: 1.5px solid var(--ink); outline-offset: -1.5px; }
.cd-au-b[hidden] { display: none; }
.cd-au-n { font: 700 15px/1.25 var(--font-display); color: var(--ink); overflow-wrap: anywhere; }
.cd-au-c { font: 700 13px var(--mono); color: var(--ink); text-align: right; }
.cd-au-bar { display: block; height: 7px; border-left: 1px solid var(--axis); }
.cd-au-bar i { display: block; height: 100%; background: var(--cat-a); }
.cd-au-more { margin-top: var(--s-2); }
.cd-topics { list-style: none; margin: 0; padding: 0; border-top: var(--hair-2); }
.cd-topics li { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px dotted var(--rule-2); font-size: var(--fs-xs); color: var(--ink-2); line-height: 1.35; }
.cd-topics .mono { color: var(--ink); }
.cd-crs-list { list-style: none; margin: 0; padding: 0; border-top: var(--heavy); }
.cd-crs-i { padding: var(--s-4) 0; border-bottom: var(--hair); }
.cd-crs-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: 6px; }
.cd-crs-t { font: 700 var(--fs-lg)/1.2 var(--font-display); margin: 0 0 4px; }
.cd-crs-t a { color: var(--ink); text-decoration: none; }
.cd-crs-t a:hover { text-decoration: underline; }
.cd-crs-by { font: italic var(--fs-sm)/1.4 var(--font-display); color: var(--ink-2); margin: 0 0 6px; }
.cd-crs-sum { font-size: var(--fs-sm); line-height: 1.55; color: var(--ink-2); margin: 0; max-width: 76ch; }
.cd-crs-l { margin: 8px 0 0; }
@media (max-width: 900px) {
  .cd-crs { grid-template-columns: 1fr; gap: var(--s-5); }
  .cd-crs-main { border-left: 0; padding-left: 0; }
  .cd-au-b { min-height: 44px; }
}
@media (max-width: 640px) { .cd-crs-t { font-size: var(--fs-md); } }

/* ---------- § 3 text matches ---------- */
.cd-text { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.cd-text-fig { margin: 0; min-width: 0; }
.cd-text-q { border-left: var(--hair); padding-left: var(--s-6); min-width: 0; }
.cd-fq { margin: 0 0 var(--s-4); padding-top: var(--s-3); border-top: var(--heavy); }
.cd-fq blockquote { margin: 0 0 var(--s-2); font-family: var(--font-display); font-size: 16.5px; line-height: 1.5; color: var(--ink-2); overflow-wrap: anywhere; }
.cd-fq blockquote::before { content: "“"; float: left; font: 700 42px/0.8 var(--font-display); color: var(--ink-3); margin: 4px 6px 0 0; }

.cd-fq figcaption { font-size: var(--fs-xs); color: var(--ink-3); border-top: var(--hair); padding-top: 6px; line-height: 1.45; }
.cd-fq figcaption .cd-flag { display: block; margin-bottom: 3px; }
.cd-fq-t { font-family: var(--font-display); font-weight: 700; color: var(--ink); margin-right: 4px; }
@media (max-width: 900px) { .cd-text { grid-template-columns: 1fr; gap: var(--s-5); } .cd-text-q { border-left: 0; padding-left: 0; } }

/* ---------- § 4 sources ---------- */
.cd-src { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.cd-src-tw { min-width: 0; overflow-x: auto; }
.cd-src-t { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); border-bottom: var(--hair-2); }
.cd-src-t th { position: static; background: none; }
.cd-src-t th, .cd-src-t td { text-align: left; vertical-align: top; padding: 8px 10px 8px 0; border-bottom: var(--hair); }
.cd-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); }
.cd-src-t tbody th { white-space: normal; font: 700 15px/1.35 var(--font-display); letter-spacing: 0; text-transform: none; color: var(--ink); width: 28%; }
.cd-src-t .num { text-align: right; white-space: nowrap; }
.cd-src-t td:last-child { color: var(--ink-2); width: 32%; }
.cd-src-t td.mono { white-space: nowrap; }
.cd-src-notes .ed-note { margin: 0 0 var(--s-4); }
@media (max-width: 1000px) { .cd-src { grid-template-columns: 1fr; gap: var(--s-5); } }
@media (max-width: 640px) {
  .cd-src-t td:last-child, .cd-src-t thead th:last-child, .cd-src-t td:nth-child(5), .cd-src-t thead th:nth-child(5) { display: none; }
  .cd-src-t tbody th { width: auto; font-size: 14px; }
  .cd-src-t thead th.num, .cd-src-t td.mono { white-space: normal; }
  .cd-src-t th, .cd-src-t td { padding-right: 8px; }
}

/* ---------- lists (detail page, not-found) ---------- */
.cd-list { list-style: none; margin: 0 0 var(--s-4); padding: 0; border-top: var(--hair-2); }
.cd-list li { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 7px 0; border-bottom: var(--hair); }
.cd-li-d { font: 12.5px var(--mono); color: var(--ink-2); }
.cd-li-k { font: 700 10.5px/1.3 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.cd-li-t { font-family: var(--font-display); font-weight: 700; color: var(--ink); overflow-wrap: anywhere; line-height: 1.3; }
.cd-nf { display: flex; gap: 10px; max-width: 640px; margin: 0 0 var(--s-5); border-bottom: 1px solid var(--rule-3); padding-bottom: 6px; }
.cd-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; min-height: 40px; }
.cd-nf input:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

/* ---------- single document ---------- */
.cd-doc .page-head h1 { font-size: clamp(28px, 4vw, 46px); overflow-wrap: anywhere; }
.cd-doc-grid { align-items: start; margin-bottom: var(--s-8); }
.cd-doc-sum { font-family: var(--font-display); font-size: var(--fs-md); line-height: 1.55; color: var(--ink); margin: 0 0 var(--s-4); max-width: 70ch; }
.cd-doc-said .cd-fq blockquote { font-size: var(--fs-md); }
.cd-billlist { list-style: none; margin: 0 0 var(--s-3); padding: 0; border-top: var(--hair-2); }
.cd-billlist li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 12px; align-items: baseline; padding: 7px 0; border-bottom: var(--hair); font-size: var(--fs-sm); color: var(--ink-2); }
.cd-billlist .mono { font-size: 12px; color: var(--ink-3); }
@media (max-width: 640px) { .cd-billlist li { grid-template-columns: auto minmax(0, 1fr); } .cd-billlist .mono { display: none; } }
.cd-kv { margin: 0 0 var(--s-4); border-top: var(--heavy); }
.cd-kv > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: var(--hair); }
.cd-kv dt { font: 700 var(--fs-2xs)/1.5 var(--font-label); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3); }
.cd-kv dd { margin: 0; font-size: var(--fs-sm); color: var(--ink); overflow-wrap: anywhere; }
.cd-doc-links { display: flex; gap: var(--s-5); flex-wrap: wrap; margin: var(--s-5) 0 var(--s-4); }

/* ---------- bill page section ---------- */
.cd-bsec { margin: var(--s-8) 0; }
.cd-blist { list-style: none; margin: 0 0 var(--s-3); padding: 0; border-top: var(--hair-2); }
.cd-blist li { padding: var(--s-3) 0; border-bottom: var(--hair); }
.cd-blist-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: 4px; }

/* ---------- round 2 ---------- */
/* mirrored record: lower half before full-text search is "not searched", never a zero */
.cd-rec .cd-ns { fill: var(--paper); stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 2 4; }
html[data-theme="night"] .cd-rec .cd-ns { fill: var(--paper); opacity: 1; }
.cd-rec .cd-ns-t { fill: var(--ink-3); font: italic 13px var(--font-display); letter-spacing: 0; }
.cd-rec .cd-half { fill: var(--ink); font: 700 10.5px var(--font-label); letter-spacing: .1em; text-transform: uppercase; }
.cd-rec .cd-axis-b { stroke: var(--rule-2); stroke-width: 1; }
@media (max-width: 640px) { .cd-rec .cd-ns-t { font-size: 12px; } .cd-rec .cd-half { font-size: 10px; } }

/* text-match evidence */
.cd-nocap { font-family: var(--font-display); font-style: italic; font-size: var(--fs-sm); color: var(--ink-3); }
.cd-concerns { display: block; margin-top: 5px; font: 700 10px/1.6 var(--font-label); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.cd-concerns .cd-bill { text-transform: none; letter-spacing: 0; font-weight: 400; }
.cd-trunc { font: italic var(--fs-xs) var(--font-display); color: var(--ink-3); }
.cd-li-c { font: 400 11.5px var(--mono); color: var(--ink-3); }
.cd-verb { font: 700 10px/1.3 var(--font-label); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }

/* phone filters: the extras fold behind a button */
.cd-morefil { display: none; margin: 8px 0 4px; }
@media (max-width: 640px) {
  .cd-morefil { display: inline-flex; min-height: 40px; }
  .cd-fbar:not(.is-more) .cd-fx { display: none; }
}

/* § 3 horizontal bars (HTML, so every bar is a real link) */
.cd-fig { margin: 0 0 var(--s-5); }
.cd-hbars { list-style: none; margin: 0; padding: 0; border-top: var(--hair-2); }
.cd-hb { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; align-items: center; padding: 6px 0; border-bottom: var(--hair); text-decoration: none; color: var(--ink); min-height: 34px; }
.cd-hb:hover { background: var(--paper-2); }
.cd-hb:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.cd-hb-l { font: 700 14.5px/1.25 var(--font-display); }
.cd-hb-t { display: flex; align-items: center; gap: 8px; border-left: 1px solid var(--axis); min-width: 0; }
.cd-hb-f { display: block; height: 14px; position: relative; border: 1px solid var(--cat-b); background: none; flex-shrink: 0; }
.cd-hb-f::before { content: ""; position: absolute; inset: 0; background: var(--cat-b); opacity: .18; }
.cd-hb-f::after { content: ""; position: absolute; inset: 0; background-color: var(--cat-b); -webkit-mask: var(--hatch-mask) repeat; mask: var(--hatch-mask) repeat; }
html[data-theme="night"] .cd-hb-f::before { opacity: .34; }
.cd-hb-n { font: 700 12.5px var(--mono); color: var(--ink); }
@media (max-width: 640px) {
  .cd-hb { grid-template-columns: 1fr; gap: 4px; min-height: 44px; }
  .cd-hb-t { border-left: 0; }
}

/* detail page */
.cd-doc.is-long .page-head h1 { font-size: var(--fs-xl); line-height: 1.2; }
.cd-subm { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-style: normal !important; font-family: var(--font-body) !important; font-size: var(--fs-sm) !important; margin-top: var(--s-3); }
.cd-subm .cd-k { margin: 0; }
.cd-fullt { font-size: var(--fs-sm); line-height: 1.55; color: var(--ink-2); margin: 0 0 var(--s-3); max-width: 78ch; overflow-wrap: anywhere; }
.cd-subj { display: flex; flex-wrap: wrap; gap: 4px 6px; }
.cd-subj .badge { white-space: normal; }
.cd-mini { margin: 0 0 var(--s-4); }
.cd-mini .cd-mini-b { fill: var(--cat-a); }
.cd-mini .cd-mini-on { fill: var(--red); }
.cd-mini text { font-size: 11px; }
.cd-mini .cd-mini-y { fill: var(--red-ink); font-weight: 700; }
.cd-rec .baseline, .cd-rec .cd-grid, .cd-rec .leader, .cd-rec text, .cd-rec .cd-axis-b, .cd-rec .cd-era-rule { pointer-events: none; }

/* ---------- round 3 ---------- */
/* header: deck on the left, "what is and is not here" on the right */
.cd-head-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--s-7); align-items: end; }
.cd-head-grid .cd-covnote { border-left: var(--hair); padding-left: var(--s-6); align-self: stretch; }
.cd-head-grid .cd-covnote .cd-dc { font-style: normal; font-family: var(--font-body); font-size: var(--fs-sm); color: var(--ink-2); max-width: none; }
.cd-head-grid .cd-covnote .cd-dc-lead { font-family: var(--font-display); font-size: var(--fs-base); color: var(--ink); }
@media (max-width: 1000px) { .cd-head-grid { grid-template-columns: 1fr; gap: var(--s-4); } .cd-head-grid .cd-covnote { border-left: 0; padding-left: 0; border-top: var(--hair); padding-top: var(--s-4); } }
.cd-row3.cd-row2 { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
@media (max-width: 640px) { .cd-row3.cd-row2 { grid-template-columns: 1fr; } }

/* filter bar: a 4-column grid, search on its own row; 2 columns on phones */
.cd-fbar .fbar-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 18px; align-items: end; }
.cd-fbar .fbar-search { grid-column: 1 / -1; }
.cd-fbar .fbar-sel, .cd-fbar .fbar-sel select { width: 100%; min-width: 0; max-width: none; }
.cd-fbar .fbar-sel select { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
@media (max-width: 900px) { .cd-fbar .fbar-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cd-fold { font: italic var(--fs-xs)/1.45 var(--font-display); color: var(--ink-3); margin: 6px 0 var(--s-3); }
.cd-others { display: inline-block; margin-top: 6px; font: 700 10.5px/1.5 var(--font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.cd-det summary { cursor: pointer; font: 700 var(--fs-2xs)/1.6 var(--font-label); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); padding: 6px 0; min-height: 32px; }
.cd-det summary:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
@media (max-width: 640px) { .cd-fbar:not(.is-more) + .cd-fold { display: none; } .cd-fbar .fbar-sel:first-of-type { grid-column: 1 / -1; } }

/* ---------- round 4 ---------- */
.cd-h1-sub { font: italic var(--fs-sm)/1.4 var(--font-display) !important; color: var(--ink-3) !important; margin: 6px 0 var(--s-3); }
.chart-legend i.outline.dash, .cd-stamp i.outline.dash { border-style: dashed; }
.cd-bill { min-height: 24px; align-items: center; text-transform: none; letter-spacing: 0; }
.cd-pair { white-space: nowrap; }
.cd-subjbill { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; font-size: var(--fs-sm); color: var(--ink-2); margin: 0 0 var(--s-3); }
.cd-subjbill .cd-bill { font-weight: 700; color: var(--ink); border-color: var(--ink); }
