/* board-kit.css — round 3 (9 Nov 2026), BUILT by ops/scripts/build_board_kit.py: the house filter controls from
 * apps/web/src/app/td-controls.css (td-lc / td-sort rules), then the design file's own <style id> blocks
 * (macro-board.html) in order. Verbatim except: the design :root keeps its tokens minus --td-face/--td-mono
 * (the theme's stand); the stone-dark scrim is ink; var(--td-x) reads var(--td-x). */

/* --- td-controls.css: td-lc / td-sort --- */
.td-lc { position: relative; font-family: var(--td-face); }
.td-lc-bar {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 28px;
  border-bottom: 1px solid var(--td-panel-rule);
}
.td-lc-show { display: flex; gap: 0 28px; flex-wrap: wrap; }
.td-lc-w {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-sizing: border-box;
  min-height: 44px; 
  padding: 12px 0 10px;
  margin: 0;
  border: 0;
  background: none;
  font: var(--td-w-medium) var(--td-size-show) / 1.2 var(--td-face);
  color: var(--td-ink-2);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.td-lc-w:hover { color: var(--td-ink); }
.td-lc-w[aria-current="true"],
.td-lc-w[aria-pressed="true"] {
  color: var(--td-ink);
  border-bottom: 2px solid var(--td-accent);
  margin-bottom: -1px;
}
.td-lc-caret {
  display: inline-block;
  font-size: var(--td-size-caret);
  color: var(--td-ink-3);
  transition: transform 200ms ease-out;
}
.td-lc-w[aria-expanded="true"] .td-lc-caret { transform: rotate(180deg); }
.td-lc-active {
  margin: 10px 0 0;
  font: var(--td-w-regular) var(--td-size-foot) / 1.5 var(--td-face);
  color: var(--td-ink-2);
}
.td-lc-clear {
  margin-left: 8px;
  color: var(--td-ink);
  text-decoration: underline;
  text-decoration-color: var(--td-accent);
  text-underline-offset: 3px;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.td-lc-scrim {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: transparent;
}
.td-lc-panel {
  position: absolute;
  right: 0;
  top: 46px;
  z-index: 41;
  box-sizing: border-box;
  width: min(720px, 100%);
  padding: 16px 32px 28px;
  background: var(--td-canvas);
  box-shadow: var(--td-panel-shadow), 0 0 0 1px var(--td-panel-rule);
}
.td-lc--section .td-lc-panel { width: min(520px, 100%); padding: 14px 24px 22px; }
.td-lc-acts { display: flex; align-items: center; gap: 8px; }
.td-lc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--td-panel-rule);
  font-size: var(--td-size-table-head);
  color: var(--td-ink-2);
}
.td-lc-body {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 40px;
  padding-top: 16px;
}
.td-lc-glabel {
  margin: 0 0 6px;
  font-size: var(--td-size-table-head);
  color: var(--td-ink-3);
}
.td-lc-opts { max-height: 360px; overflow-y: auto; }
.td-lc-opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  width: 100%;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--td-panel-rule);
  background: none;
  font: var(--td-w-regular) var(--td-size-table) / 1.3 var(--td-face);
  color: var(--td-ink);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.td-lc-opt:hover { color: var(--td-accent-text); }
.td-lc-opt[aria-current="true"],
.td-lc-opt[aria-pressed="true"] {
  color: var(--td-accent-text);
  font-weight: var(--td-w-semibold);
  border-bottom-color: var(--td-accent);
}
.td-lc-count { font-size: var(--td-size-table-head); color: var(--td-ink-3); font-weight: var(--td-w-regular); }
.td-lc-groups { list-style: none; margin: 0; padding: 0; }
.td-lc-g {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: none;
  font: var(--td-w-medium) var(--td-size-group-label) / 1.2 var(--td-face);
  color: var(--td-ink);
  text-align: left;
  cursor: pointer;
}
.td-lc--section .td-lc-g { font-size: var(--td-size-group-label-section); }
.td-lc-g:hover { color: var(--td-accent-text); }
.td-lc-g[aria-pressed="true"] {
  color: var(--td-accent-text);
  border-bottom-color: var(--td-accent);
}
.td-lc-gn {
  position: relative;
  top: -6px;
  font-size: var(--td-size-group-num);
  color: var(--td-ink-3);
  font-weight: var(--td-w-regular);
}
.td-lc-foot {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-top: 20px;
  font-size: var(--td-size-table-head);
  color: var(--td-ink-3);
}
.td-lc-pp {
  padding: 0;
  border: 0;
  background: none;
  font: var(--td-w-regular) var(--td-size-table) / 1.3 var(--td-face);
  color: var(--td-ink-2);
  text-decoration: none;
  cursor: pointer;
}
.td-lc-pp[aria-current="true"],
.td-lc-pp[aria-pressed="true"] {
  font-weight: var(--td-w-semibold);
  color: var(--td-ink);
  text-decoration: underline;
  text-decoration-color: var(--td-accent);
  text-underline-offset: 3px;
}
.td-lc-sheet { display: none; }
.td-lc-grab { display: none; }
@media (max-width: 639.98px){.td-lc-bar, .td-lc-show { gap: 0 16px; }.td-lc-panel { display: none; }.td-lc-scrim { background: var(--td-scrim); }.td-lc-sheet {
    display: flex;
    flex-direction: column;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 24%;
    z-index: 41;
    padding: 8px 16px 24px;
    background: var(--td-canvas);
    border-radius: 8px 8px 0 0;
    overflow-y: auto;
  }.td-lc-grab {
    display: block;
    width: 36px;
    height: 4px;
    margin: 0 auto 4px;
    border-radius: 2px;
    background: var(--td-btn-edge);
  }.td-lc-sheet .td-lc-head { min-height: 56px; padding: 0; }.td-lc-acc {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 54px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--td-panel-rule);
    background: none;
    font: var(--td-w-medium) var(--td-size-group-label-phone) / 1.2 var(--td-face);
    color: var(--td-ink);
    text-align: left;
    cursor: pointer;
  }.td-lc-acc-pick { margin-left: auto; font-size: var(--td-size-pick); color: var(--td-ink-2); font-weight: var(--td-w-regular); }.td-lc-acc-tri { display: inline-block; font-size: var(--td-size-caret); color: var(--td-ink-3); transition: transform 200ms ease-out; }.td-lc-acc[aria-expanded="true"] .td-lc-acc-tri { transform: rotate(90deg); }.td-lc-sheet .td-lc-opt { min-height: 44px; }.td-lc-sheet .td-lc-opts { max-height: none; }}
.td-lc-lead { margin-right: auto; display: flex; align-items: center; }
.td-lc-opts--search { max-height: none; overflow: visible; }
.td-lc-q { font: var(--td-w-regular) 15px/1.3 var(--td-face); color: var(--td-ink); background: transparent; border: 0; border-bottom: 1px solid var(--td-ink); border-radius: 0; padding: 8px 0; min-height: 44px; width: 100%; box-sizing: border-box; outline: 0; }
.td-lc-q:focus-visible { border-bottom-color: var(--td-accent); }

/* --- design <style id="anon"> --- */
:root{--td-canvas:#FAFAFA;--td-ink:#1A1A1B;--td-ink-2:#5C5C5A;--td-ink-3:#6E6A62;--td-accent:#BE531B;--td-accent-text:#A8480F;--td-up:#167C3C;--td-down:#B23A3A;--td-hair:rgba(0,0,0,0.11);--td-hair-soft:rgba(0,0,0,0.065);--td-zebra:rgba(0,0,0,0.028);--td-row-hover:rgba(0,0,0,0.05);--td-shell:940px;--td-rail:280px;--td-row-h:35px;--td-size-title:56px;--td-size-title-phone:40px;--td-size-name:17px;--td-size-price:34px;--td-size-change:13.5px;--td-size-as-of:12px;--td-size-crumbs:12px;--td-size-kicker:13px;--td-size-tab:15px;--td-size-tab-count:12px;--td-size-section-head:17px;--td-size-lead:14px;--td-size-when:12px;--td-size-figs:15px;--td-size-stats:15px;--td-size-table:14px;--td-size-table-head:12px;--td-size-table-sub:12px;--td-size-rail-label:15px;--td-size-fact:14px;--td-size-question-figure:26px;--td-size-question:15px;--td-size-answer:14px;--td-size-refs:14px;--td-size-refs-summary:15px;--td-w-title:900;--td-w-regular:400;--td-w-medium:500;--td-w-semibold:600;--td-head-rule:rgba(0,0,0,0.28);--td-row-rule:rgba(0,0,0,0.065);--td-panel-rule:rgba(0,0,0,0.11);--td-btn-edge:rgba(0,0,0,0.16);--td-btn-press:#F4EDE6;--td-mark-ground:#FFFFFF;--td-scrim:rgba(26,26,27,0.38);--td-panel-shadow:0 18px 44px -30px rgba(0,0,0,0.35);--td-size-btn:14px;--td-size-btn-phone:15px;--td-size-pager:14px;--td-size-show:15px;--td-size-foot:13px;--td-size-caret:10px;--td-size-group-num:11px;--td-size-group-label:22px;--td-size-group-label-section:18px;--td-size-group-label-phone:19px;--td-size-pick:13px;--td-size-row-name:15px;--td-size-row-fig:15px;--td-size-monogram:13px}

/* --- design <style id="td-board-restyle"> --- */
/* Board restyle, 4 Nov 2026: the one Table everywhere (52px rows, zebra), the dated answer line, folded references. */
.td-board .tdt tbody tr:nth-child(even){background:var(--td-zebra)}
@media (min-width:640px){
  .td-board .tdt--section tbody tr{height:52px}
  .td-board .tdt--section td{padding-top:0;padding-bottom:0}
}
.td-board .td-dos-mast--board{padding-bottom:0}
.td-board #fd-country-panel-us>.space-y-10>.td-hub-sec:first-child,.td-board main>.page-pad>.td-hub-sec:first-child{border-top:0;padding-top:4px}
.td-dos-answer{font-family:var(--td-face);font-size:15px;line-height:1.55;color:var(--td-ink);max-width:72ch;margin:14px 0 0}
.td-dos-answer b{font-weight:var(--td-w-semibold)}
.td-dos-src{display:block;font-size:var(--td-size-when);line-height:1.5;color:var(--td-ink-3);margin-top:6px}
.td-dos-src a,.td-dos-answer a{color:inherit;text-decoration:underline;text-decoration-color:var(--td-hair);text-underline-offset:3px}
.td-dos-src a:hover,.td-dos-answer a:hover{text-decoration-color:var(--td-ink)}
.td-dos-mast--board .td-jump ul{margin-top:16px;margin-bottom:14px}
.td-sec-ans{font-family:var(--td-face);font-size:var(--td-size-lead);line-height:1.55;color:var(--td-ink-2);max-width:84ch;margin:0 0 12px}
.td-sec-ans b{color:var(--td-ink);font-weight:var(--td-w-semibold)}
.td-refs{border-top:1px solid var(--td-hair);margin-top:56px;padding-top:18px}
.td-refs summary{cursor:pointer;list-style:none;font:var(--td-w-semibold) var(--td-size-section-head)/1.3 var(--td-face);color:var(--td-ink);display:flex;align-items:baseline;gap:10px}
.td-refs summary::-webkit-details-marker{display:none}
.td-refs summary span{font-size:var(--td-size-when);font-weight:var(--td-w-regular);color:var(--td-ink-3)}
.td-refs[open] summary span{display:none}
.td-refs ol{margin:12px 0 0;padding:0 0 0 20px;font-family:var(--td-face);font-size:var(--td-size-when);line-height:1.5;color:var(--td-ink-3)}
.td-refs li{margin:0 0 6px}
.td-refs a{color:var(--td-ink);text-decoration:underline;text-decoration-color:var(--td-hair);text-underline-offset:2px}
.td-sep{display:inline-block;width:1px;height:.85em;background:var(--td-hair);margin:0 .6em;vertical-align:-.08em}
.td-board .tdt-showing{margin:0}
.td-dtabs-strip .td-dtabs-tab{min-height:44px}

/* --- design <style id="td-one-table"> --- */
.td-cur { font-size: 0.78em; font-weight: 400; color: var(--td-ink-2, #5C5C5A); letter-spacing: 0.02em; }
/* === THE LIST TABLE — his List Table Template 1a–1d (28 Oct 2026) ===
   One table for every list (/stocks, /etfs, /crypto, the Reddit hubs, the
   country lists): the Show words and Filter in one hairline row over it, at most
   five columns beside the name, 52px rows, the sorted column ink and bold with
   its caret, every figure centred; the count on the left of the foot and the
   pager on the right. On a phone it is a list of rows: the mark and the name on
   the left, the first two figures on the right. Values: the spec in
   vault/raw/design/2026-10-28-list-table-template-spec.md. */
.mt-wrap { position: relative; }
.mt-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed; /* his 1a: Name takes what the five fixed columns leave */
	font: 400 14px/1.35 var(--td-face);
	font-variant-numeric: tabular-nums;
	color: var(--td-ink);
}
.mt-table thead tr { border-bottom: 1px solid rgba(0, 0, 0, 0.28); }
.mt-table th {
	padding: 8px 0 8px 16px;
	font: 400 12px/1.3 var(--td-face);
	letter-spacing: 0;
	text-transform: none;
	color: var(--td-ink-3, #6E6A62);
	text-align: center;
	white-space: nowrap;
	border: 0;
}
.mt-table th:first-child { padding-left: 0; text-align: left; }
.mt-table th[aria-sort] { color: var(--td-ink); font-weight: 700; }
.mt-table thead button {
	all: unset;
	cursor: pointer;
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}
.mt-table thead button:hover { color: var(--td-ink); }
.mt-table thead button:focus-visible { outline: 2px solid var(--td-ink); outline-offset: 1px; }
.mt-table th[aria-sort="descending"] button::after { content: "\25BE"; font-size: 10px; }
.mt-table th[aria-sort="ascending"] button::after { content: "\25B4"; font-size: 10px; }
.mt-table tbody tr { height: 52px; border-bottom: 1px solid var(--td-hair-soft); }
.mt-table tbody tr:hover { background: rgba(0, 0, 0, 0.05); }
.mt-table td {
	padding: 8px 0 8px 16px;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	border: 0;
}
.mt-table td:first-child { padding: 8px 16px 8px 0; text-align: left; }
/* The rank column is not in his list: the order is the list's sort. */
.mt-table .mt-rank,
.mt-table .mt-th-rank { display: none; }
.mt-table .td-r { text-align: center; }
/* His 1a column widths (ListTable.dc.html): Price 120 · 24h 90 · 30 days 184 · Market cap 130 · Mentions 150. */
.mt-table .mt-c-price { width: 120px; }
.mt-table .mt-c-chg { width: 90px; }
.mt-table .mt-c-30d { width: 184px; }
.mt-table .mt-c-cap { width: 130px; }
.mt-table .mt-c-men { width: 150px; }
.mt-table th.mt-th-30d,
.mt-table td.mt-30d { padding-left: 28px; text-align: left; }
.td-spark { display: block; width: 150px; height: 34px; overflow: visible; }
.td-spark--dot { width: 156px; }
.mt-name a,
.mt-name .mt-nolink { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--td-ink); text-decoration: none; }
/* Symbol over company (never "ASX: BHPBHP Group" run together), linked or not. */
.mt-id,
.mt-name a:not(:has(.mt-id)),
.mt-name .mt-nolink:not(:has(.mt-id)) { display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-width: 0; }
.mt-sym { font: 700 14px/1.35 var(--td-face); color: var(--td-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-company { font-size: 12px; line-height: 1.35; color: var(--td-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.mt-name a:hover .mt-sym { color: var(--td-accent); }
.mt-up { color: var(--td-up); }
.mt-down { color: var(--td-down); }
.mt-sent { display: inline; }
.mt-note { font-size: 12px; color: var(--td-ink-3, #6E6A62); }
.mt-chip { font-size: 12px; color: var(--td-ink-2); }
.mt-chip--x { color: var(--td-ink-3, #6E6A62); }
.mt-empty { margin: 0; padding: 8px 0 20px; font-size: 14px; color: var(--td-ink-2); }
.mt-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 18px 0 0;
}
.mt-foot:empty { display: none; }
.mt-count { font-size: 13px; color: var(--td-ink-2); white-space: nowrap; }
.mt-src { margin-top: 10px; font-size: 12px; line-height: 1.5; color: var(--td-ink-3, #6E6A62); max-width: 680px; }
/* Closed means gone: these set their own display, which would beat the hidden attribute. */
.lt-panel[hidden],
.lt-scrim[hidden],
.lt-active[hidden],
.mt-empty[hidden] { display: none; }
.mt-table .mt-m-sm { font-size: 13px; }
@media (max-width: 640px) {

	/* The list: each row a link-sized block, the name left, two figures right. */
	.mt-wrap { overflow: visible; }
	.mt-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	/* The phone list is rows, not columns: the desktop widths (his 1a) do not apply, and the
	   30-day line is desktop only, as drawn. */
	.mt-table { table-layout: auto; }
	.mt-table col[class^="mt-c-"] { width: auto; }
	.mt-table tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 12px;
		align-items: center;
		height: auto;
		min-height: 60px;
		padding: 8px 0;
		box-sizing: border-box;
	}
	.mt-table td { display: none; padding: 0; }
	.mt-table td.mt-name { display: block; grid-column: 1; grid-row: 1 / span 2; padding: 0; min-width: 0; overflow: hidden; } /* a long fund name ellipsises (/etfs/ was 426 wide at 390) */
	.mt-table td:nth-child(1 of :not(.mt-rank, .mt-name)),
	.mt-table td.mt-p-top { display: block; grid-column: 2; grid-row: 1; text-align: right; font-size: 15px; }
	.mt-table td:nth-child(2 of :not(.mt-rank, .mt-name)),
	.mt-table td.mt-p-sub { display: block; grid-column: 2; grid-row: 2; text-align: right; font-size: 12px; color: var(--td-ink-2); }
	.mt-table td.mt-p-sub.mt-up { color: var(--td-up); }
	.mt-table td.mt-p-sub.mt-down { color: var(--td-down); }
	.mt-sym { font-size: 15px; }
	/* A long company name wraps on a phone (IBM's pushed the name cell 33px past its column at 390). */
	.mt-company { max-width: none; white-space: normal; overflow-wrap: anywhere; }
	.mt-foot { flex-direction: column; align-items: stretch; }}
.td-mark28 {
	position: relative;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	box-sizing: border-box;
	border-radius: 6px;
	background: #FFFFFF;
	box-shadow: 0 0 0 1px var(--td-hair);
	overflow: hidden;
	font: 700 13px/1 var(--td-face);
	color: var(--td-ink);
}
.td-mark28 img { position: absolute; inset: 0; width: 28px; height: 28px; display: block; background: #FFFFFF; }
/* A person with no portrait: the drawn placeholder in ink-3, same box, so the column stays aligned (founder, 10 Nov 2026). */
.td-mark28--face .td-mark28-blank { display: block; color: var(--td-ink-3); }
/* Boards: the list table inside a page section. Wide tables scroll inside their own wrap;
   cells ellipsise rather than run into the next column; on a phone the row shows the
   name and the two picked figures only. */
.mt-wrap { overflow-x: auto; }
.mt-table td { overflow: hidden; text-overflow: ellipsis; }
.mt-table td a { color: inherit; }
.mt-table td small { display: block; font-size: 12px; color: var(--td-ink-2, #5C5C5A); overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) {
	.mt-wrap { overflow: visible; }
	.mt-table.mt-picked col { width: auto !important; }
	.mt-table.mt-picked td:not(.mt-name):not(.mt-p-top):not(.mt-p-sub) { display: none; }
	.mt-table td.mt-x { display: none; }
	.mt-table.mt-picked td.mt-p-top { display: block; grid-column: 2; grid-row: 1; text-align: right; font-size: 15px; color: var(--td-ink); overflow: visible; }
	.mt-table.mt-picked td.mt-p-sub { display: block; grid-column: 2; grid-row: 2; text-align: right; font-size: 12px; color: var(--td-ink-2, #5C5C5A); overflow: visible; }
}

/* --- design <style id="ib-board"> --- */
/* Insider trading board, 6 Nov 2026 (round 2): two tabs (td-dtabs) that swap in place; the one Table; each cluster row opens to its filings;
   References = the Reddit hub's folded foot block (td-refs), holding how the board is built. No Reddit data on this board. */
.td-board-head{padding-top:40px}
a.td-dtabs-tab{text-decoration:none;min-height:44px;box-sizing:border-box}
.td-dtabs-tab[aria-current="page"]{color:var(--td-ink);border-bottom-color:var(--td-accent)}
.td-board-head .td-dtabs-strip{margin-bottom:-1px}
.td-rtab[hidden]{display:none}
.td-rtab{display:flex;flex-direction:column;gap:56px}
.td-rtab>.td-sec:first-child{border-top:0;padding-top:0}
.td-rtab>.td-sec{margin-bottom:0}
.ib-buy{color:var(--td-up)}
.ib-sell{color:var(--td-down)}
.ib-who{display:block;font-weight:500;color:var(--td-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-role{display:block;font-size:12px;color:var(--td-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-clusters .is-up,.ib-ftable .is-up{color:var(--td-up)}
.ib-clusters .is-down,.ib-ftable .is-down{color:var(--td-down)}
.ib-tbd{display:inline-block;min-width:4.5ch;padding:0 5px;border:1px dashed rgba(0,0,0,.28);border-radius:3px;color:var(--td-ink-3);font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}
.ib-co{display:flex;align-items:center;gap:4px;min-width:0}
.ib-co>a{display:flex;align-items:center;gap:inherit;min-width:0;color:inherit;text-decoration:none}
.ib-more{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;min-height:44px;margin-left:-8px;font-size:13px;color:var(--td-ink-3);border-radius:3px}
.ib-more:hover{color:var(--td-ink)}
.ib-more:focus-visible{outline:2px solid var(--td-ink);outline-offset:2px}
/* the row opener (Daniel 7 Nov: clearer, no words): a down chevron in a small ring; it turns up and darkens when the row is open */
.ib-caret{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;box-sizing:border-box;border:1px solid color-mix(in oklch,var(--td-ink) 30%,var(--td-canvas));border-radius:50%;color:var(--td-ink-2);transition:transform .15s ease-out,background-color .15s,border-color .15s}
.ib-caret svg{display:block}
.ib-more:hover .ib-caret{border-color:var(--td-ink);color:var(--td-ink)}
.ib-more[aria-expanded="true"]{color:var(--td-ink)}
.ib-more[aria-expanded="true"] .ib-caret{transform:rotate(180deg);background:var(--td-ink);border-color:var(--td-ink);color:var(--td-canvas)}
.ib-rd b{display:block;font-weight:400;color:var(--td-ink-2)}
.ib-rd.is-on b{font-weight:600;color:var(--td-ink)}
.ib-rd span{display:block;font-size:12px;color:var(--td-ink-3)}
.mt-table td.ib-spark{overflow:visible}
.ib-spark svg{display:block;width:84px;height:22px;margin:0 auto}
.ib-ph{display:none}
.mt-table tr.ib-sub>td{padding:4px 0 18px;background:var(--td-canvas);white-space:normal;overflow:visible}
.mt-table tr.ib-sub:hover>td{background:var(--td-canvas)}
.ib-fwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ib-ftable{width:100%;border-collapse:collapse;font-size:13px;color:var(--td-ink-2);font-variant-numeric:tabular-nums}
.ib-ftable th{font-size:12px;font-weight:400;color:var(--td-ink-3);text-align:left;padding:8px 10px;border-bottom:1px solid var(--td-hair);white-space:nowrap}
.mt-table .ib-ftable td{height:auto;padding:8px 10px;border-bottom:1px solid var(--td-hair-soft);text-align:left;white-space:nowrap}
.ib-ftable a{color:var(--td-ink)}
/* text under a heading runs the full column, never a narrower measure (6 Nov, Daniel: "I hate that") */
.td-board-head .td-dos-name,.td-board-main .td-lead,.td-board-main .td-sec-meta{max-width:none}
/* Every trade: the meta line shares the sort and filter bar, so no empty band sits under the heading */
.ib-feedbar .td-lc-bar{justify-content:flex-start;align-items:flex-end}
.ib-feedmeta{margin:0 auto 0 0;padding:0 0 11px}
.td-hub-sec .ib-feedbody{margin-top:0}
.ib-feedbar [hidden]{display:none!important}
.ib-feedbar .td-lc-groups li{border-bottom:1px solid var(--td-panel-rule)}
.ib-feedbar .td-lc-groups .td-lc-g{margin-bottom:-1px}
.ib-feedbar .td-lc-foot{border-top:1px solid var(--td-panel-rule);padding-top:14px}
.ib-feedbar .td-lc-sheet .td-lc-foot{border-top:0;padding-top:0}
.ib-feedbar .td-btn:disabled{color:var(--td-ink-3);cursor:default}
.ib-feedbar .td-lc-active{display:flex;gap:4px;align-items:baseline;margin:10px 0 0}
.td-lc-opt:disabled{color:var(--td-ink-3);cursor:default}
.td-lc-opt:disabled:hover{color:var(--td-ink-3)}
.ib-feed .mt-nolink{width:100%;overflow:hidden}
.ib-feed .mt-nolink .mt-id{flex:1 1 0;min-width:0;max-width:none;overflow:hidden}
.ib-coname{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-empty{margin:0;padding:20px 0;font-size:14px;color:var(--td-ink-2);border-bottom:1px solid var(--td-hair-soft)}
.mt-table.ib-feed tr[hidden]{display:none!important}
.mt-wrap[hidden]{display:none}
/* Cluster insider selling: sample rows until the Form 4 query is built */
.ib-sample{margin:0 0 12px;padding:8px 12px;border:1px dashed rgba(0,0,0,.28);border-radius:3px;font-size:13px;line-height:1.5;color:var(--td-ink-2)}
.ib-nofile{color:var(--td-ink-3)}
.ib-co>.ib-colink{display:flex;align-items:center;gap:inherit;min-width:0}
.mt-table th.ib-l,.mt-table td.ib-l{text-align:left}
.ib-feedbar [hidden],.mt-foot[hidden],.td-pager[hidden]{display:none!important}
@media (max-width:640px){.mt-table.mt-picked td.ib-l.mt-p-sub,.mt-table.mt-picked td.ib-l.mt-p-top{text-align:right}}
.mt-foot{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 18px 0 0;}
.mt-foot:empty{display: none;}
.mt-count{font-size: 13px; color: var(--td-ink-2); white-space: nowrap;}
@media (max-width: 640px){.mt-foot{flex-direction: column; align-items: stretch;}}
.td-sec-foot[aria-busy="true"] .td-pager{opacity: .5;}
@media (max-width: 640px){.td-sec-foot .td-pager{order: 1;}}
.td-btn--sq{width: 30px; min-width: 0; padding: 0;}
.td-btn.is-off,
.td-btn[disabled],
.td-btn[aria-busy="true"]{opacity: .35; pointer-events: none;}
@media (max-width: 640px){.td-btn--sq{width: 36px; padding: 0;}}
.td-pager{display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-left: auto; font: 400 14px/1 var(--td-face); font-variant-numeric: tabular-nums; color: var(--td-ink);}
.td-pager-nums{list-style: none; margin: 0 10px; padding: 0; display: flex; align-items: center; min-width: 0;}
.td-pager-nums li{display: flex; align-items: center; margin: 0;}
.td-pager-nums a{box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 4px; font-size: 14px; color: var(--td-ink-3); text-decoration: none; transition: color 200ms ease-out;}
.td-pager-nums a:hover{color: var(--td-accent);}
.td-pager-nums a:focus-visible{outline: 2px solid var(--td-ink); outline-offset: 2px;}
.td-pager-nums a[aria-current="page"]{font-weight: 600; color: var(--td-ink);}
.td-pager-nums li.td-pager-on::after{content: ""; display: block; width: 40px; height: 1px; margin-right: 8px; background: var(--td-accent); transition: width 420ms cubic-bezier(.6, 0, .3, 1), margin 420ms cubic-bezier(.6, 0, .3, 1);}
.td-pager-gap{justify-content: center; min-width: 20px; height: 30px; color: var(--td-ink-3);}
.td-pager-nums--phone{display: none;}
@media (max-width: 640px){.td-pager{width: 100%; justify-content: space-between;}}
@media (max-width: 640px){.td-pager-nums--desk{display: none;}}
@media (max-width: 640px){.td-pager-nums--phone{display: flex; margin: 0 2px;}}
@media (max-width: 640px){.td-pager-nums a{min-width: 26px; height: 36px; padding: 0 2px;}}
@media (max-width: 640px){.td-pager-nums li.td-pager-on::after{width: 22px; margin-right: 4px;}}
@media (max-width: 640px){.td-pager-gap{min-width: 14px; height: 36px;}}

/* References: the Reddit hub's td-refs, as drawn there */
.td-refs{margin-top:48px;border-top:1px solid var(--td-hair)}
.td-refs>summary{font:500 15px/1.4 var(--td-face);color:var(--td-ink);min-height:44px;display:flex;align-items:center;cursor:pointer;list-style:none}
.td-refs>summary::-webkit-details-marker{display:none}
.td-refs>summary::before{content:"+";width:1.2em;color:var(--td-ink-3)}
.td-refs[open]>summary::before{content:"\2212"}
.td-refs .td-sources-list{list-style:decimal;margin:0 0 8px;padding:0 0 0 1.6em;font:400 14px/1.55 var(--td-face);color:var(--td-ink-2)}
.td-refs .td-sources-list li{margin:0 0 6px;overflow-wrap:anywhere}
.td-sources-name{color:var(--td-ink);font-weight:600}
.td-refs .td-sources-list a{color:var(--td-ink);text-decoration:underline;text-decoration-color:var(--td-hair);text-underline-offset:3px}
.td-refs .td-sources-list a:hover{text-decoration-color:var(--td-ink)}
.ib-built{margin:22px 0 8px}
.ib-built h3{margin:0 0 8px;font:500 15px/1.4 var(--td-face);color:var(--td-ink)}
.ib-rows{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);margin:0;border-top:1px solid var(--td-hair-soft)}
.ib-rows dt,.ib-rows dd{margin:0;padding:10px 0;border-bottom:1px solid var(--td-hair-soft);font-size:14px;line-height:1.6}
.ib-rows dt{font-weight:600;color:var(--td-ink);padding-right:24px}
.ib-rows dd{color:var(--td-ink-2)}
@media (max-width:640px){
 .ib-feedmeta{flex-basis:100%;padding:0 0 2px}
 .ib-rows{grid-template-columns:minmax(0,1fr)}.ib-rows dt{border-bottom:0;padding-bottom:2px}.ib-rows dd{padding-top:0}
 .ib-ph{display:inline}
 .ib-feed .ib-role{display:none}
 .mt-table.mt-picked tr.ib-sub{display:block!important;height:auto!important;min-height:0!important}
 .mt-table.mt-picked tr.ib-sub[hidden]{display:none!important}
 .mt-table.mt-picked tr.ib-sub>td{display:block!important;grid-column:1/-1!important;height:auto!important;padding:0 0 16px!important}
 .mt-table.mt-picked .ib-fwrap{width:calc(100vw - 32px);max-width:calc(100vw - 32px)}
 .mt-table.mt-picked .ib-ftable{display:table!important;width:max-content;min-width:100%}
 .mt-table.mt-picked .ib-ftable thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important}
 .mt-table.mt-picked .ib-ftable tbody{display:table-row-group!important}
 .mt-table.mt-picked .ib-ftable tr{display:table-row!important}
 .mt-table.mt-picked .ib-ftable th,.mt-table.mt-picked .ib-ftable td{display:table-cell!important}
}
.mt-table th.ib-l,.mt-table td.ib-l{text-align:left}
.ib-feedbar [hidden],.mt-foot[hidden],.td-pager[hidden]{display:none!important}
@media (max-width:640px){.mt-table.mt-picked td.ib-l.mt-p-sub,.mt-table.mt-picked td.ib-l.mt-p-top{text-align:right}}
.mt-foot{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 18px 0 0;}
.mt-foot:empty{display: none;}
.mt-count{font-size: 13px; color: var(--td-ink-2); white-space: nowrap;}
@media (max-width: 640px){.mt-foot{flex-direction: column; align-items: stretch;}}
.td-sec-foot[aria-busy="true"] .td-pager{opacity: .5;}
@media (max-width: 640px){.td-sec-foot .td-pager{order: 1;}}
.td-btn--sq{width: 30px; min-width: 0; padding: 0;}
.td-btn.is-off,
.td-btn[disabled],
.td-btn[aria-busy="true"]{opacity: .35; pointer-events: none;}
@media (max-width: 640px){.td-btn--sq{width: 36px; padding: 0;}}
.td-pager{display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-left: auto; font: 400 14px/1 var(--td-face); font-variant-numeric: tabular-nums; color: var(--td-ink);}
.td-pager-nums{list-style: none; margin: 0 10px; padding: 0; display: flex; align-items: center; min-width: 0;}
.td-pager-nums li{display: flex; align-items: center; margin: 0;}
.td-pager-nums a{box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 4px; font-size: 14px; color: var(--td-ink-3); text-decoration: none; transition: color 200ms ease-out;}
.td-pager-nums a:hover{color: var(--td-accent);}
.td-pager-nums a:focus-visible{outline: 2px solid var(--td-ink); outline-offset: 2px;}
.td-pager-nums a[aria-current="page"]{font-weight: 600; color: var(--td-ink);}
.td-pager-nums li.td-pager-on::after{content: ""; display: block; width: 40px; height: 1px; margin-right: 8px; background: var(--td-accent); transition: width 420ms cubic-bezier(.6, 0, .3, 1), margin 420ms cubic-bezier(.6, 0, .3, 1);}
.td-pager-gap{justify-content: center; min-width: 20px; height: 30px; color: var(--td-ink-3);}
.td-pager-nums--phone{display: none;}
@media (max-width: 640px){.td-pager{width: 100%; justify-content: space-between;}}
@media (max-width: 640px){.td-pager-nums--desk{display: none;}}
@media (max-width: 640px){.td-pager-nums--phone{display: flex; margin: 0 2px;}}
@media (max-width: 640px){.td-pager-nums a{min-width: 26px; height: 36px; padding: 0 2px;}}
@media (max-width: 640px){.td-pager-nums li.td-pager-on::after{width: 22px; margin-right: 4px;}}
@media (max-width: 640px){.td-pager-gap{min-width: 14px; height: 36px;}}

/* Hallmark · component: board chart kit · genre: editorial · theme: brand tokens (TheDistributed, rulings 23 to 25 Oct)
 * forms: runs · strip · grains · line · cols · ticks · tiles   states: default · hover · focus-visible · selected · empty
 * pre-emit critique: P4 H5 E4 S5 R5 V4 */
.ck{--ck-gap:40px;--ck-row:14px;--ck-mark:var(--td-ink-2);--ck-strong:var(--td-ink);--ck-soft:color-mix(in oklch,var(--td-ink) 16%,var(--td-canvas));
 --ck-faint:color-mix(in oklch,var(--td-ink) 7%,var(--td-canvas));display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:var(--ck-gap);
 margin:6px 0 30px;padding:16px 0 0;border-top:1px solid var(--td-hair)}
.ck-main{min-width:0}
.ck-cap{font-size:13px;line-height:1.4;color:var(--td-ink-3);margin:0 0 14px}
.ck-notes{font-size:14px;line-height:1.5;color:var(--td-ink-2);border-left:1px solid var(--td-hair);padding-left:20px}
.ck-notes-h{font-size:13px;color:var(--td-ink-3);margin:0 0 8px}
.ck-notes ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ck-notes b{color:var(--td-ink);font-weight:600}
.ck a{color:inherit;text-decoration:none}
.ck a:focus-visible{outline:2px solid var(--td-accent);outline-offset:2px;border-radius:1px}
/* runs */
.ck-runs{position:relative;display:grid;gap:3px;padding-bottom:22px;--lab:52px;--val:72px}
.ck-runs-g{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--td-hair);left:calc(var(--lab) + 12px + (100% - var(--lab) - var(--val) - 24px) * var(--x))}
.ck-runs-g i{position:absolute;bottom:0;left:0;transform:translateX(-50%);font-style:normal;font-size:11px;color:var(--td-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.ck-run{position:relative;display:grid;grid-template-columns:var(--lab) minmax(0,1fr) var(--val);gap:12px;align-items:center;height:var(--ck-row);font-size:11px;line-height:1}
.ck-run-l{font-weight:600;color:var(--td-ink);letter-spacing:.01em}
.ck-run-v{text-align:right;color:var(--td-ink-3);font-variant-numeric:tabular-nums}
.ck-run-t{position:relative;height:100%}
.ck-run-t i{position:absolute;top:50%;height:2px;margin-top:-1px;left:calc(var(--a) * 100%);right:calc((1 - var(--b)) * 100%);background:var(--ck-mark);border-radius:0 1px 1px 0}
.ck-run-t i::before{content:"";position:absolute;left:0;top:-4px;height:10px;width:1px;background:var(--ck-strong)}
.ck-run:hover .ck-run-t i,.ck-run:focus-visible .ck-run-t i{background:var(--ck-strong)}
.ck-run:hover .ck-run-v,.ck-run:focus-visible .ck-run-v{color:var(--td-ink)}
/* strip */
.ck-strip{display:flex;gap:2px;height:52px}
.ck-seg{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:7px 8px;overflow:hidden;
 background:color-mix(in oklch,var(--td-ink) calc(78% - var(--k) * 14%),var(--td-canvas));color:var(--td-canvas);font-size:12px;line-height:1.2;transition:background-color .18s cubic-bezier(.2,0,0,1)}
.ck-seg b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-seg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.86;font-variant-numeric:tabular-nums}
.ck-seg em{display:none}
.ck-seg--rest{background:var(--ck-faint);color:var(--td-ink-2)}
.ck-seg--rest em{display:block;font-style:normal;font-variant-numeric:tabular-nums}
a.ck-seg:hover,a.ck-seg:focus-visible{background:var(--ck-strong)}
/* grains */
.ck-grains{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 20px}
.ck-grp{display:grid;gap:5px;min-width:0}
.ck-grp-cells{display:grid;grid-template-rows:repeat(var(--r),6px);grid-template-columns:repeat(var(--c),6px);grid-auto-flow:column;gap:1px}
.ck-grp-cells i{display:block;background:var(--ck-mark);transition:background-color .18s cubic-bezier(.2,0,0,1)}
.ck-grp-l{font-size:11px;line-height:1.2;color:var(--td-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.ck-grp-l b{font-weight:600;color:var(--td-ink-2)}
.ck-grp:hover .ck-grp-cells i,.ck-grp:focus-visible .ck-grp-cells i{background:var(--td-ink)}
.ck-grp:hover .ck-grp-l b,.ck-grp:focus-visible .ck-grp-l b{color:var(--td-ink)}
.has-on .ck-grp-cells i{background:var(--ck-soft)}
.has-on .ck-grp.is-on .ck-grp-cells i{background:var(--td-ink)}
.has-on .ck-grp.is-on .ck-grp-l b{color:var(--td-ink)}
.ck-grains-key{margin:14px 0 0;font-size:12px;color:var(--td-ink-3)}
/* line */
.ck-line{display:grid;grid-template-columns:44px minmax(0,1fr) 92px;grid-template-rows:auto auto;column-gap:10px}
.ck-line-y{position:relative;grid-row:1;height:120px;margin-top:8px}
.ck-line-y span{position:absolute;right:0;bottom:calc(var(--y) * 100%);transform:translateY(50%);font-size:11px;color:var(--td-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.ck-line-plot{position:relative;grid-row:1;grid-column:2 / span 2;height:120px;margin-top:8px;padding-right:92px}
.ck-line-plot svg{display:block;width:100%;height:100%;overflow:visible}
.ck-stroke{fill:none;stroke:var(--td-ink);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ck-area{fill:var(--ck-faint)}
.ck-whisper{stroke:var(--td-hair-soft);vector-effect:non-scaling-stroke}
.ck-base{stroke:var(--td-hair);vector-effect:non-scaling-stroke}
.ck-peak{position:absolute;left:calc((100% - 92px) * var(--x));bottom:calc(var(--y) * 100%);width:0;height:0}
.ck-peak i{position:absolute;left:0;bottom:4px;width:1px;height:12px;background:var(--td-ink)}
.ck-peak b{position:absolute;bottom:18px;right:-4px;font-weight:400;font-size:11px;color:var(--td-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.ck-end{position:absolute;right:0;bottom:calc(var(--y) * 100%);transform:translateY(50%);width:84px;font-size:12px;font-weight:600;color:var(--td-ink);font-variant-numeric:tabular-nums}
.ck-line-x{position:relative;grid-column:2;height:18px;margin-top:6px;margin-right:0}
.ck-line-x span{position:absolute;left:calc(var(--x) * 100%);transform:translateX(-50%);font-size:11px;color:var(--td-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.ck-line-x span:first-child{transform:none}.ck-line-x span:last-child{transform:translateX(-100%)}
/* cols */
.ck-cols-key{display:flex;gap:18px;margin:-6px 0 10px;font-size:12px;color:var(--td-ink-3)}
.ck-k-up::before,.ck-k-dn::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;background:var(--td-up)}
.ck-k-dn::before{background:var(--td-down)}
.ck-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));column-gap:6px}
.ck-col{display:grid;grid-template-rows:66px 50px 18px;min-width:0}
.ck-col-up,.ck-col-dn{display:flex;flex-direction:column;align-items:center;min-width:0}
.ck-col-up{justify-content:flex-end;border-bottom:1px solid var(--td-hair)}
.ck-col-dn{justify-content:flex-start;padding-top:1px}
.ck-col i{display:block;width:min(14px,70%);height:calc(var(--h) * 46px);min-height:2px}
.ck-col-up i{background:var(--td-up)}.ck-col-dn i{background:var(--td-down)}
.ck-col em{font-style:normal;font-size:11px;line-height:14px;color:var(--td-ink-2);font-variant-numeric:tabular-nums}
.ck-col-l{align-self:end;text-align:center;font-size:11px;font-weight:600;color:var(--td-ink);white-space:nowrap;overflow:hidden}
.ck-col:hover .ck-col-l,.ck-col:focus-visible .ck-col-l{color:var(--td-accent-text)}
/* ticks */
.ck-ticks{padding-top:30px}
.ck-ticks-plot{position:relative;height:72px;border-bottom:1px solid var(--td-hair)}
.ck-tick{position:absolute;bottom:0;left:calc(var(--x) * 100%);width:1.5px;margin-left:-.75px;height:calc(10px + var(--h) * 62px);background:var(--ck-mark)}
.ck-tick.is-late{background:var(--td-ink)}
.ck-tick b{position:absolute;bottom:calc(100% - 11px);left:5px;font-size:11px;font-weight:600;color:var(--td-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.ck-tick.is-late b{left:auto;right:5px;transform:none}
.ck-mark{position:absolute;top:-30px;bottom:0;left:calc(var(--x) * 100%);width:0;border-left:1.5px solid var(--td-accent)}
.ck-mark b{position:absolute;top:0;right:8px;font-size:11px;font-weight:400;color:var(--td-accent-text);white-space:nowrap}
.ck-ticks-x{position:relative;height:18px;margin-top:6px}
.ck-ticks-x span{position:absolute;left:calc(var(--x) * 100%);transform:translateX(-50%);font-size:11px;color:var(--td-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.ck-ticks-x span:first-child{transform:none}.ck-ticks-x span:last-child{transform:translateX(-100%)}
/* multiples */
.ck-muls{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:14px 18px}
.ck-mul{display:grid;gap:6px;min-width:0}
.ck-mul-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:11px;line-height:1.2}
.ck-mul-h b{font-weight:600;color:var(--td-ink)}
.ck-mul-h span{color:var(--td-ink-2);font-variant-numeric:tabular-nums}
.ck-mul-p{position:relative;height:30px;border-bottom:1px solid var(--td-hair)}
.ck-mul-p svg{display:block;width:100%;height:100%;overflow:visible}
.ck-mul-line{fill:none;stroke:var(--td-ink-2);stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ck-mul-end{position:absolute;left:calc(var(--x) * 100%);top:calc(var(--y) * 100%);width:1px;height:8px;margin:-4px 0 0 -1px;background:var(--td-ink)}
.ck-mul:hover .ck-mul-line,.ck-mul:focus-visible .ck-mul-line{stroke:var(--td-ink)}
.ck-mul:hover .ck-mul-h b,.ck-mul:focus-visible .ck-mul-h b{color:var(--td-accent-text)}
/* tiles */
.ck-tiles-head{display:flex;gap:0 22px;margin:-8px 0 12px;border-bottom:1px solid var(--td-hair);overflow-x:auto;scrollbar-width:none}
.ck-tiles-head::-webkit-scrollbar{display:none}
.ck-tiles-head .td-lc-w{flex:none}
.ck-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:2px}
.ck-tile{--t:0;position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:68px;padding:8px 10px;
 background:color-mix(in oklch,var(--ck-tint,var(--td-ink)) calc(var(--t) * 34%),var(--td-canvas));box-shadow:inset 0 0 0 1px var(--td-hair-soft);transition:background-color .2s cubic-bezier(.2,0,0,1)}
.ck-tile[data-dir="up"]{--ck-tint:var(--td-up)}.ck-tile[data-dir="down"]{--ck-tint:var(--td-down)}
.ck-tile[data-dir="none"]{opacity:.55}
.ck-tile-l{font-size:12px;line-height:1.25;color:var(--td-ink);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ck-tile-s{font-size:11px;color:var(--td-ink-3);margin-top:2px}
.ck-tile-v{font-size:15px;font-weight:600;color:var(--td-ink);font-variant-numeric:tabular-nums;margin-top:6px}
a.ck-tile:hover,a.ck-tile:focus-visible{box-shadow:inset 0 0 0 1px var(--td-ink)}
.ck-empty{border-top:1px solid var(--td-hair);padding:14px 0;color:var(--td-ink-3);font-size:14px;margin:6px 0 30px}
/* Key points under a board's lede (23 Oct ruling: every page a Key points list) */
.td-keys{margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--td-hair-soft)}
.td-keys-h{font-size:13px;color:var(--td-ink-3);margin:0 0 8px}
.td-keys ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.td-keys li{position:relative;padding-left:16px;font-size:15px;line-height:1.5;color:var(--td-ink-2)}
.td-keys li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--td-ink-3)}
.td-keys b{color:var(--td-ink);font-weight:600}
@media (prefers-reduced-motion:reduce){.ck *{transition:none!important}}
@media (max-width:900px){.ck{grid-template-columns:minmax(0,1fr);gap:16px}.ck-notes{border-left:0;padding-left:0;border-top:1px solid var(--td-hair-soft);padding-top:12px}}
@media (max-width:640px){
 .ck-runs{--lab:44px;--val:56px}
 .ck-strip{height:56px}.ck-seg{padding:6px}.ck-seg span{display:none}
 .ck-line{grid-template-columns:38px minmax(0,1fr) 0}.ck-line-plot{padding-right:64px}.ck-end{width:60px;font-size:11px}
 .ck-peak{left:calc((100% - 64px) * var(--x))}
 .ck-line-x span:not(:first-child):not(:last-child){display:none}
 .ck-cols{grid-template-columns:minmax(0,1fr);row-gap:3px}
 .ck-col{grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);grid-template-rows:18px;column-gap:0;align-items:stretch}
 .ck-col-l{grid-column:1;grid-row:1;order:0;text-align:left;align-self:center}
 .ck-col-dn{grid-column:2;grid-row:1;flex-direction:row;justify-content:flex-end;align-items:center;padding:0;border-right:1px solid var(--td-hair)}
 .ck-col-up{grid-column:3;grid-row:1;flex-direction:row;justify-content:flex-start;align-items:center;border-bottom:0}
 .ck-col i{width:calc(var(--h) * (100% - 24px));height:8px;min-width:2px}
 .ck-col-dn em{order:1;margin-right:4px}.ck-col-dn i{order:2}
 .ck-col-up i{order:1}.ck-col-up em{order:2;margin-left:4px}
 .ck-tiles-head{gap:0 16px}
 .ck-muls{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 12px}
 .ck-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ck-tile{min-height:64px;padding:7px 8px}.ck-tile-l{font-size:11px}.ck-tile-v{font-size:14px}
}

/* Hallmark · page: Macro board, round 2 · genre: editorial · theme: brand tokens · pre-emit critique: P4 H5 E4 S5 R4 V4
 * Macro board, 7 Nov 2026 (round 2): market as address, answer cards + next dates, markets list, indicator map, Reddit topics */
.mc-after{margin:14px 0 0}.mc-after a{color:var(--td-ink)}
.mc-table td.mc-cc{color:var(--td-ink-2)}
.mc-dash{color:var(--td-ink-3)}
/* the market tabs: real addresses */
.mc-mktabs{margin-top:22px}
/* overview: the house key metrics (the Reddit hub's figures) and the next releases in the calendar's day format */
.td-sec-when{margin:0 0 6px;font-size:12px;line-height:1.5;color:var(--td-ink-3)}
.td-sec-when+.td-answer{margin-top:0}

.td-fn{position:relative;display:inline-block;line-height:1}
.td-fnm{font:500 11px/1 var(--td-face);color:inherit;background:none;border:0;border-radius:3px;padding:0 2px;margin:0 0 0 1px;vertical-align:super;cursor:pointer;text-decoration:none}
.td-fn+.td-fn .td-fnm{margin-left:-1px}
.td-fnm::before{content:attr(data-n)}
.td-fnm:hover,.td-fnm[aria-expanded="true"]{color:var(--td-ink);text-decoration:underline;text-underline-offset:2px}
.td-fnm:focus-visible{outline:2px solid var(--td-ink);outline-offset:1px}
.td-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:max-content;max-width:260px;background:#FFFFFF;border:1px solid var(--td-hair);border-radius:8px;padding:10px 12px;font:400 13px/1.45 var(--td-face);color:var(--td-ink);text-align:left;white-space:normal;display:none}
.td-pop::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.td-pop b{font-weight:600}
.td-pop a{display:inline-block;margin-top:4px;color:var(--td-ink);text-decoration:underline;text-underline-offset:2px}
.td-fn.open .td-pop{display:block}

.tdch-figs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 24px;margin:18px 0 0}
.tdch-fig{display:flex;flex-direction:column;gap:3px}
.tdch-fig-v{font-size:34px;font-weight:500;line-height:1;white-space:nowrap;color:var(--td-ink)}
.tdch-fig-v.is-open{color:var(--td-accent-text)}
.tdch-fig-l{font-size:12px;color:var(--td-ink-2)}
.td-answer a,.td-dos-name a:not(.td-fnm){color:var(--td-ink);text-decoration:underline;text-decoration-color:var(--td-hair);text-underline-offset:3px}
@media (pointer:coarse){.td-fnm{padding:12px 19px;margin:-12px -19px -12px -16px}.td-fn+.td-fn .td-fnm{margin-left:-16px}}
@media (hover:hover) and (pointer:fine){.td-fn:not(.is-dismissed):hover .td-pop,.td-fn:not(.is-dismissed):focus-within .td-pop{display:block}}
@media (max-width:760px){.td-pop{position:fixed;left:16px;right:16px;top:auto;bottom:96px;width:auto;max-width:none}}
@media (max-width:1100px){.tdch-figs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.tdch-figs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.tdch-fig-v{font-size:28px}}
.mc-figs{grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.mc-when{margin:0}
.mc-ov{display:grid;gap:36px}
.mc-next-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}
.mc-next-h{font-size:15px;font-weight:600;color:var(--td-ink);margin:0}
.mc-next-all{font-size:13px;color:var(--td-ink)}
.mc-cal{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));border-top:1px solid var(--td-hair);border-bottom:1px solid var(--td-hair)}
.mc-cal-day{min-width:0;padding:0 12px 14px;border-left:1px solid var(--td-hair)}
.mc-cal-day:first-child{border-left:0;padding-left:0}
.mc-cal-dh{display:flex;align-items:center;gap:10px;padding:10px 0 8px;border-bottom:1px solid var(--td-hair)}
.mc-cal-dn{font-size:44px;font-weight:300;line-height:1;color:var(--td-ink);font-variant-numeric:tabular-nums}
.mc-cal-dw{display:flex;flex-direction:column;font-size:12px;line-height:1.3;color:var(--td-ink-3)}
.mc-cal-dw b{font-weight:400;color:var(--td-ink-2)}
.mc-cal-dc{display:none}
.mc-cal-ev{list-style:none;margin:0;padding:0}
.mc-cal-e{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;padding:8px 0 0 26px;font-size:13px;line-height:1.3}
.mc-flag{position:absolute;left:0;top:10px;width:18px;height:12px;outline:1px solid var(--td-hair);outline-offset:-1px}
.td-sec .mc-cal-n{order:1;flex:0 0 100%;color:var(--td-ink);font-weight:600;text-decoration:none;overflow-wrap:break-word}
.td-sec .mc-cal-n:hover{text-decoration:underline;text-decoration-color:var(--td-ink);text-underline-offset:3px}
.mc-cal-n:focus-visible{outline:2px solid var(--td-accent);outline-offset:2px}
.mc-cal-t{order:2;font-size:12px;color:var(--td-ink-2);white-space:nowrap}
.mc-cal-ty{order:3;font-size:12px;color:var(--td-ink-3)}
/* the map: one indicator at a time */
.mc-pick{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 18px;margin:0 0 12px}
.mc-pick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;padding:0;cursor:pointer;color:var(--td-ink);font:inherit;text-align:left;min-height:44px}
.mc-pick-l{font-size:12px;color:var(--td-ink-3)}
.mc-pick-name{display:inline-flex;align-items:center;gap:8px;font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.01em;border-bottom:2px solid var(--td-accent);padding-bottom:2px}
.mc-pick-btn[aria-expanded="true"] .mc-pick-car{transform:rotate(180deg)}
.mc-pick-car{transition:transform .16s cubic-bezier(.2,0,0,1)}
.mc-pick-btn:focus-visible{outline:2px solid var(--td-accent);outline-offset:3px}
.mc-gl{font-size:13px;color:var(--td-ink-2);padding-bottom:6px}
.mc-gl:hover{color:var(--td-ink)}
.mc-pick-list{flex-basis:100%;padding:12px 0 4px;border-bottom:1px solid var(--td-hair)}
.mc-pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.mc-pick-grid .td-lc-opt{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mc-mapbox{position:relative}
.mc-map{display:block;width:100%;height:auto}
.mc-land,.mc-c path{fill:var(--ck-faint);stroke:var(--td-canvas);stroke-width:.6;stroke-linejoin:round}
.mc-c.is-held path{fill:color-mix(in oklch,var(--td-accent) calc(var(--t) * 100%),var(--td-canvas));cursor:pointer;transition:fill .18s cubic-bezier(.2,0,0,1)}
.mc-c.is-held.is-down path{fill:color-mix(in oklch,var(--td-down) calc(var(--t) * 100%),var(--td-canvas))}
.mc-c.is-held.is-up path{fill:color-mix(in oklch,var(--td-up) calc(var(--t) * 100%),var(--td-canvas))}
.mc-c.is-held:hover path,.mc-c.is-held:focus-visible path,.mc-c.is-mk.is-held path{stroke:var(--td-ink);stroke-width:1.2}
.mc-c:focus{outline:none}
.mc-labs{position:absolute;inset:0;pointer-events:none}
.mc-lab{position:absolute;left:calc(var(--x) * 100%);top:calc(var(--y) * 100%);display:flex;flex-direction:column;transform:translate(-100%,-50%);text-align:right;
 text-shadow:0 0 3px var(--td-canvas),0 0 3px var(--td-canvas),0 0 3px var(--td-canvas)}
.mc-lab--r{transform:translate(0,-50%);text-align:left}.mc-lab--c{transform:translate(-50%,-50%);text-align:center}
.mc-lab i{font-style:normal;font-size:12px;line-height:1.3;color:var(--td-ink-2)}
.mc-lab b{font-size:16px;line-height:1.2;font-weight:600;color:var(--td-ink);font-variant-numeric:tabular-nums}
.mc-tip{position:absolute;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));background:var(--td-ink);color:var(--td-canvas);font-size:12px;line-height:1.35;padding:6px 9px;border-radius:3px;white-space:nowrap;font-variant-numeric:tabular-nums}
.mc-mapkey{margin:10px 0 0;font-size:12px;color:var(--td-ink-3)}
.mc-mapfig{margin-bottom:8px}
.mc-table tr.is-mk td:first-child{position:relative}
.mc-table tr.is-mk td:first-child::before{content:"";position:absolute;left:-12px;top:12px;bottom:12px;width:2px;background:var(--td-accent)}
.mc-table tr.is-mk .ib-pname{font-weight:600}
/* Reddit topics: the line under each name is what the term means; a 30-day line and net sentiment beside the count */
.mc-def{white-space:normal}
.mc-sp{position:relative;display:inline-block;width:132px;height:26px;vertical-align:middle}
.mc-sp svg{display:block;width:100%;height:100%;overflow:visible}
.mc-sp-l{fill:none;stroke:var(--td-ink);stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.mc-sp-b{stroke:var(--td-hair);vector-effect:non-scaling-stroke}
.mc-sp i{position:absolute;left:calc(var(--x) * 100%);top:-3px;width:1px;height:5px;background:var(--td-accent)}
/* sentiment: a label and its value, green bullish, red bearish, grey neutral (the TradingView rating look) */
.mc-se{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mc-se svg{flex:none}
.mc-se b{font-weight:500;min-width:38px;text-align:right}
.mc-se--up{color:var(--td-up)}.mc-se--dn{color:var(--td-down)}.mc-se--flat{color:var(--td-ink-3)}
.td-board-main>.page-pad>#sec-ov,.td-board-main>.page-pad>#sec-rd{border-top:0;padding-top:4px}
.mc-sample{display:inline-block;margin-left:4px;padding:1px 5px;border:1px solid var(--td-hair);border-radius:3px;font-size:11px;line-height:1.3;color:var(--td-ink-3);vertical-align:1px}
.mc-rdt td.mc-sec,.mc-rdt th.mc-sec{overflow:visible;text-align:right}
.mc-rdlead{margin:28px 0 18px}
/* the indices: symbol, name, country, level in its own currency, 1 and 3 months */
/* ticker in bold, what it tracks under it in the text weight, no box (Daniel, 11:48) */
.mc-ixt .mc-tk{font-weight:600}
.mc-aut .mc-place{color:var(--td-ink)}
.mc-aut .mc-ph{display:none}
@media (max-width:640px){.mc-aut .mc-ph{display:inline}.mc-aut .mt-company.mc-ph{display:block}}
.mc-aut td{font-variant-numeric:tabular-nums}
.mc-ixt td.mc-tracks{font-weight:400;color:var(--td-ink)}
.mc-ixt .mc-tracks-ph{display:none}
.mc-nolink{display:block;color:var(--td-ink)}
.mc-lvl{font-variant-numeric:tabular-nums}
.mc-cur{margin-left:5px;font-size:11px;color:var(--td-ink-3)}
.mc-up{color:var(--td-up)!important}.mc-dn{color:var(--td-down)!important}
.mc-ixt td.mc-m1,.mc-ixt td.mc-m3{font-variant-numeric:tabular-nums}
.mc-rdt th.mc-spc,.mc-rdt td.mc-spc{text-align:center}
@media (max-width:1100px){.mc-figs{grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr))}
 .mc-cal{grid-template-columns:repeat(min(var(--n),4),minmax(0,1fr))}.mc-cal-day:nth-child(4n+1){border-left:0;padding-left:0}.mc-cal-day:nth-child(n+5){border-top:1px solid var(--td-hair)}}
@media (max-width:900px){.mc-pick-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
 .mt-table.mt-picked.mc-table .mc-cc,.mt-table.mt-picked.mc-indt td.mc-chg,.mt-table.mt-picked.mc-indt td.mc-nxt{display:none}
 .mc-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mc-cal{display:block;border-bottom:0}
 .mc-cal-day{padding:0;border-left:0!important;border-top:0!important;border-bottom:1px solid var(--td-hair)}
 .mc-cal-dh{min-height:52px;padding:8px 0;border-bottom:0}
 .mc-cal-dn{font-size:26px;width:40px}
 .mc-cal-dw{flex-direction:row;gap:6px;font-size:15px}.mc-cal-dw b{color:var(--td-ink)}
 .mc-cal-dc{display:block;margin-left:auto;font-size:14px;color:var(--td-ink-2);white-space:nowrap}
 .mc-cal-ev{padding:0 0 12px 50px}
 .mc-cal-e{min-height:44px;padding:6px 0 6px 26px;font-size:14px;align-content:center;border-top:1px solid var(--td-hair-soft)}
 .mc-flag{top:12px}
 .mc-next-top{flex-direction:column;gap:4px}
 .mc-sample{display:none}
 .mc-ixt .mc-tracks-ph{display:block;font-size:13px;font-weight:400;white-space:normal}
 .mc-pick-name{font-size:19px}
 .mc-lab b{font-size:13px}.mc-lab i{font-size:11px}
}

/* --- design <style id="td-sort"> --- */
/* Sort is the Filter button's twin: same type, colour, caret and spacing; its options open in the filter's own panel and sheet */
.td-lc-show,.lt-show{display:none!important}
.td-sortbtn{margin-left:auto;margin-right:24px}
.td-sortbtn:last-child{margin-right:0}
.td-lc-bar:has(>.td-sortbtn){position:relative}
.td-lc-bar{flex-wrap:nowrap;align-items:center}
.ib-filterbtn:focus:not(:focus-visible),.lt-filter-btn:focus:not(:focus-visible),.td-sortbtn:focus:not(:focus-visible){outline:none}
@media (min-width:641px){.td-sort-panel{width:min(320px,100%)!important;left:auto!important}}
.td-sort-panel .td-lc-opts,.td-sort-panel .lt-seg,.td-sort-panel .lt-panel-body{display:block}
.td-sort-panel .lt-seg{width:100%}
.td-sort-panel .td-lc-opt,.td-sort-sheet .td-lc-opt,.td-sort-panel .lt-opt{width:100%}
.td-sort-sheet{top:auto!important;bottom:0}
@media (max-width:640px){.td-lc-bar{flex-wrap:wrap}.td-lc-bar .ib-feedmeta{flex:1 1 100%;padding-bottom:4px}.td-sort-panel.lt-panel{top:auto!important;bottom:0;left:0;right:0;width:auto!important}}

/* --- design <style id="foot-phone"> --- */
footer .fb-logos a{color:inherit;text-decoration:none}footer .fb-logos a:hover{text-decoration:underline}
@media (max-width:640px){
 footer .foot-top{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:20px!important;row-gap:28px!important}
 footer .foot-mark{grid-column:1/-1}
 footer .foot-col[aria-label="Desks"]{grid-column:1;grid-row:2/span 2}
 footer .foot-col[aria-label="The Data"]{grid-column:2;grid-row:2}
 footer .foot-col[aria-label="Company"]{grid-column:2;grid-row:3}
 footer .foot-col h2{margin-bottom:6px!important}
 footer .foot-col ul{margin:0;padding:0}
 footer .foot-col li{margin:0!important}
 footer .foot-col li a{display:block;padding:6px 0 5px;line-height:21px}
 footer .foot-note{margin-bottom:16px}
 footer .foot-bottom{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;gap:10px!important;margin-top:28px!important}
 footer .foot-bottom>span{text-align:left!important;justify-content:flex-start!important}
 footer .foot-bottom>span{margin:0!important}
 body:has([style*="position:fixed;left:0;right:0;bottom:0"]) footer .foot-bottom{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}

/* --- design <style id="rulings"> --- */
/* tables fit their frame: headers wrap, footer folds open full width, the per-day grids drop their 1360px floor */
.mt-table thead th{white-space:normal}
.tdt-foot>details.td-more[open]{flex:1 1 100%;width:100%}
.mt-grid{min-width:0!important;width:100%}
.mt-grid col{width:auto!important}
.mt-grid col:first-child{width:76px!important}
/* no scroll box inside a page: the theme member list opens at its full length */
.ib-memwrap{max-height:none!important;overflow:visible!important}
/* fold-out tables under a row (sectors, boards): long names wrap on a phone instead of scrolling the table sideways */
@media (max-width:640px){.ib-fwrap{overflow-x:visible!important}.ib-ftable{width:100%!important;table-layout:auto!important;min-width:0!important}
 .ib-ftable td.ib-l,.ib-ftable thead th:first-child{white-space:normal!important;text-align:left!important;overflow-wrap:anywhere;width:auto;padding-left:0!important}
 .ib-ftable td:not(.ib-l),.ib-ftable thead th:not(:first-child){white-space:nowrap;text-align:right;padding-left:10px}
 .ib-ftable td:first-child,.ib-ftable thead th:first-child{text-align:left!important;padding-left:0!important}}
@media (max-width:640px){.mt-table.mt-grid tbody td,.mt-table.mt-grid tbody th{display:table-cell!important;grid-column:auto!important;grid-row:auto!important;white-space:nowrap;text-align:right}.mt-table.mt-grid tbody td:first-child{text-align:left}.mt-grid col:first-child{width:60px!important}.mt-table.mt-grid tbody td{padding:8px 0 8px 4px!important;font:400 13px/1.3 var(--td-face)!important;color:var(--td-ink)!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.mt-table.mt-grid thead th{font-size:11px;padding:0 0 6px 4px;text-align:right;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere;vertical-align:bottom}.mt-table.mt-grid thead th:first-child{text-align:left}}

/* --- design <style id="phone-polish"> --- */
/* 5. one vertical rhythm (Daniel, 8 Nov: "fix the enormous amounts of random white space everywhere"): measured with
   tools/gap_sweep.py, empty bands of 48-130px came from stacked margins (section gap + section margin + padding, 48px before
   References, a 56px gap between board sections, 56+36px above the question lists). Caps: 40px between sections on desktop,
   28px on a phone, 32/24px before References. */
.td-refs{margin-top:32px!important}
.td-rtab{gap:40px!important}.td-rtab>section,.td-rtab>.td-sec{margin-bottom:0!important}
.td-hub-sec{padding-top:24px}
section.td-faq.mt-qs,.td-dtabs-panel>section.td-faq{margin-top:8px!important;padding-top:24px!important}
.td-rtab{margin-bottom:0!important}
.td-inst-main--entity>section.td-sec{margin-top:40px!important}
details.td-sources-one{margin-top:28px!important}
.pg-board .cal-month .cal-day{height:auto!important;max-height:356px}
.lead-section{padding-bottom:32px!important}.desk-sep{padding-top:28px!important}
[class*="StandsOut-module"][class*="__section"]{padding-bottom:24px!important}[class*="StandsOut-module"][class*="__article"]{padding-bottom:20px!important}
.tdch-panel{row-gap:32px!important}
@media (max-width:640px){
.td-refs{margin-top:24px!important}
.td-rtab{gap:28px!important}
.td-hub-sec{padding-top:20px}
.td-dtabs-panel{gap:22px!important;padding-top:14px!important}
.page-pad.py-8{padding-top:20px!important;padding-bottom:16px!important}
.tdch-panel{row-gap:24px!important}
.art-body h2.wp-block-heading,.entry-content h2.wp-block-heading{margin-top:32px!important}
.desk-sep{padding-top:24px!important;margin-top:16px!important}
/* funds board, quarter by quarter: a plain three-column table on a phone (it collapsed to 0px: grid rows inside table display) */
.mt-table.ib-quarters{display:table!important;width:100%;table-layout:auto}
.mt-table.ib-quarters col{width:auto!important}
.mt-table.ib-quarters thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}
.mt-table.ib-quarters tbody{display:table-row-group!important}
.mt-table.ib-quarters tr{display:table-row!important;height:auto!important;min-height:0!important}
.mt-table.ib-quarters th,.mt-table.ib-quarters td{display:table-cell!important;padding:12px 0 12px 12px!important;font-size:14px;text-align:right!important;white-space:nowrap;border-bottom:1px solid var(--td-hair-soft)}
.mt-table.ib-quarters thead th{font-size:12px;font-weight:400;color:var(--td-ink-3,#6E6A62);padding-top:0!important}
.mt-table.ib-quarters .ib-l{text-align:left!important;padding-left:0!important}
.mt-table.ib-quarters tr>*:nth-child(2){display:none!important}
.art-body{padding-top:16px!important;margin-top:8px!important}.entry-content>h2:first-child{margin-top:0!important}
.edu-grid,.wp-block-query.edu-grid{padding-bottom:16px!important}
.td-inst-main--entity>section.td-sec{margin-top:28px!important}
.td-inst-col{row-gap:24px!important}
[class*="StandsOut-module"][class*="__section"]{padding-bottom:24px!important}
details.td-sources-one{margin-top:20px!important}
.lead-section{padding-bottom:20px!important}.lead-grid{row-gap:24px!important}.lead-rail{margin-top:8px!important}
.res-item,.hl-item{padding-bottom:12px!important}.tdch--home{margin-top:12px!important}
dl.td-dos-stats{margin-top:12px!important}
[class*="StandsOut-module"][class*="__article"]{padding-bottom:20px!important}
figure.dl{margin-bottom:12px!important}
}
/* 3. chevrons: one simple chevron, accent orange, turns over when open */
.td-chev{display:inline-block;vertical-align:middle;color:var(--td-accent);transition:transform .16s ease-out}
.td-lc-caret,.lt-caret{display:inline-flex;align-items:center;font-size:0;line-height:0}
[aria-expanded="true"]>.td-lc-caret .td-chev,[aria-expanded="true"] .lt-caret .td-chev{transform:rotate(180deg)}
.td-chev--up{transform:rotate(180deg)}[aria-expanded="true"]>.td-chev--up{transform:none}
@media (prefers-reduced-motion:reduce){.td-chev,.td-corner{transition:none}}
/* 2. the row opener, right-hand: corner-right-down, orange; flips to corner-right-up when open */
td.ib-open,th.ib-open{width:40px;text-align:right;padding-left:0;padding-right:0}
td.ib-open .ib-more{margin:0 0 0 auto;width:40px;min-height:44px;justify-content:flex-end}
.ib-more .ib-caret,.ib-more:hover .ib-caret,.ib-more[aria-expanded="true"] .ib-caret{width:auto;height:auto;border:0;border-radius:0;background:none;color:var(--td-accent);transform:none}
.ib-more .td-corner{display:block;transition:transform .16s ease-out}
.ib-more[aria-expanded="true"] .td-corner{transform:scaleY(-1)}
.ib-more:hover .td-corner{transform:translateY(1px)}.ib-more[aria-expanded="true"]:hover .td-corner{transform:scaleY(-1) translateY(1px)}
/* 4. tab strips that run past the edge: an orange chevron at each edge that still has tabs beyond it (Daniel, 8 Nov: no progress bar;
   "make sure the arrow then shows to go back too") */
.td-tabs-next,.td-tabs-prev{position:absolute;z-index:2;display:flex;align-items:center;width:48px;padding:0;border:0;cursor:pointer;color:var(--td-accent)}
.td-tabs-next[hidden],.td-tabs-prev[hidden]{display:none}
.td-tabs-next{right:0;justify-content:flex-end;background:linear-gradient(90deg,rgba(250,250,250,0),var(--td-canvas) 55%)}
.td-tabs-prev{left:0;justify-content:flex-start;background:linear-gradient(270deg,rgba(250,250,250,0),var(--td-canvas) 55%)}
.td-tabs-next .td-chev{transform:rotate(-90deg)}.td-tabs-prev .td-chev{transform:rotate(90deg)}
.td-tabs-next:focus-visible,.td-tabs-prev:focus-visible{outline:2px solid var(--td-ink);outline-offset:-2px}
/* phone column names over the one-line ticker rows */
.mt-phead{display:none}
@media (max-width:640px){
/* 1. phone tables: ticker rows on one line, ticker · sub figure · top figure; no company name */
.mt-table td.mt-tk .mt-company{display:none}
.mt-table.mt-picked tbody tr:has(>td.mt-tk){grid-template-columns:minmax(0,112px) minmax(0,1fr) auto;column-gap:12px;min-height:52px}
.mt-table.mt-picked tbody tr:has(>td.mt-tk) td.mt-tk .mt-sym{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-table.mt-picked tbody tr:has(>td.mt-tk)>td.mt-name{grid-column:1;grid-row:1}
.mt-table.mt-picked tbody tr:has(>td.mt-tk)>td.mt-p-sub{grid-column:2!important;grid-row:1!important;text-align:left!important;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mt-table.mt-picked tbody tr:has(>td.mt-tk)>td.mt-p-top{grid-column:3!important;grid-row:1!important}
.mt-table.mt-picked tbody tr:has(>td.mt-tk) .ib-role{display:none}
.mt-table.mt-picked tbody tr:has(>td.mt-tk) .ib-who{font-weight:400;color:var(--td-ink-2,#5C5C5A);font-size:13px}
.mt-table.mt-picked tbody tr:has(>td.mt-tk) .ib-ph-x{display:none}
.mt-phead{display:grid;grid-template-columns:minmax(0,92px) minmax(0,1fr) auto;column-gap:12px;padding:0 0 8px;border-bottom:1px solid var(--td-hair);font-size:12px;color:var(--td-ink-3,#6E6A62)}
.mt-phead--open{grid-template-columns:minmax(0,104px) minmax(0,1fr) auto 36px}
.mt-phead>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mt-phead>span:nth-child(3){text-align:right}
/* rows with an opener get a fourth, right-hand column */
.mt-table.mt-picked tbody tr:has(>td.ib-open){grid-template-columns:minmax(0,1fr) auto 36px}
.mt-table.mt-picked tbody tr:has(>td.ib-open):has(>td.mt-tk){grid-template-columns:minmax(0,104px) minmax(0,1fr) auto 36px}
.mt-table.mt-picked tbody tr:has(>td.ib-open):not(:has(>td.mt-tk))>td.mt-p-top{grid-column:2;grid-row:1}
.mt-table.mt-picked tbody tr:has(>td.ib-open):not(:has(>td.mt-tk))>td.mt-p-sub{grid-column:2;grid-row:2}
.mt-table.mt-picked tbody tr>td.ib-open{display:flex!important;align-items:center;justify-content:flex-end;grid-column:-2/-1!important;grid-row:1/span 2!important;width:auto}
.mt-table.mt-picked tbody tr>td.ib-open .ib-more{width:36px}
}


/* --- deliberate overrides (build_board_kit.py) --- */
/* The design's sr-only captions: the theme has no .sr-only rule, so they printed as visible text. */
.mc-board .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Ruling 3 (9 Nov): the indicator picker is the house Filter control. Desktop: the panel opens under the button,
   left-aligned to it; phone: the bottom sheet (td-controls.css). */
.mc-pick .td-lc-panel.mc-pick-panel{left:0;right:auto;top:calc(100% + 6px);width:min(800px,calc(100vw - 32px))}
.mc-pick .mc-pick-opt .td-lc-count{white-space:nowrap}
.mc-pick .td-lc-panel.mc-pick-panel .td-lc-glabel{margin:4px 0 6px}
@media (max-width:639.98px){.mc-pick .td-lc-sheet.mc-pick-sheet:not([hidden]){display:block}}
/* The theme's h3 rule set 1.12 line height on the release box's heading; the design reads 1.5. */
.mc-board .mc-next-h{line-height:1.5;letter-spacing:normal}
/* Sort and Filter at the design's 40px, with an invisible 44px tap area (ui-ux: touch target). */
.mc-board .td-lc-bar .td-lc-w{height:40px;min-height:40px;position:relative}
.mc-board .td-lc-bar .td-lc-w::after{content:"";position:absolute;left:0;right:0;top:-2px;bottom:-2px}
/* The Next shell's base (Tailwind preflight + body), which the designs render on: border-box sizing everywhere, Karla's
   cv11 / ss01 / tabular figures, antialiased. Without border-box every 44px row grew by its padding (the phone calendar
   day: 112px designed, 138px live). Scoped to the /data shell. */
.td-data-shell,.td-data-shell *,.td-data-shell *::before,.td-data-shell *::after{box-sizing:border-box}
.td-data-shell{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","tnum"}
/* The Next shell's page scrollbar (10px, the design's), with the theme's colours: the default 15px one made every column 5px narrower. */
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border:2px solid var(--td-canvas);border-radius:5px}

/* --- design <style id="ib-board"> (contracts-board.html): the rules macro-board.html lacks --- */
.dl{--dl-ink:var(--td-ink);--dl-ink2:var(--td-ink-3);--dl-grid:var(--td-hair);--dl-acc:var(--td-accent); margin:6px 0 30px;color:var(--dl-ink);padding:16px 0 0;border-top:1px solid var(--td-hair)}
.dl-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;margin:0 0 10px}
.dl-title{font-size:15px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}
.dl-sample{font-size:11px;font-weight:400;color:var(--dl-ink2);border:1px solid var(--td-hair);border-radius:3px;padding:1px 5px}
.dl-sw{display:flex;gap:4px}
.dl-sw button{font:inherit;font-size:13px;color:var(--dl-ink2);background:none;border:0;padding:0 10px;min-height:36px;cursor:pointer;border-radius:3px}
.dl-sw button:hover{color:var(--dl-ink);background:rgba(0,0,0,.05)}
.dl-sw button[aria-pressed="true"]{color:var(--dl-ink);text-decoration:underline;text-decoration-color:var(--dl-acc);text-decoration-thickness:2px;text-underline-offset:7px}
.dl-sw button:focus-visible{outline:2px solid var(--dl-ink);outline-offset:-2px}
.dl-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px}
.dl-plot{position:relative;height:300px;margin-left:38px;margin-bottom:26px}
.dl-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dl-plot .g{stroke:var(--dl-grid);stroke-width:1}
.dl-plot .r{stroke:var(--td-ink-3);stroke-width:1;stroke-dasharray:4 4}
.dl-ref{position:absolute;left:4px;transform:translateY(-120%);font-size:11px;color:var(--td-ink-3);background:var(--td-canvas);padding:0 2px}
.dl-plot .l{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;transition:opacity .15s}
.dl-y,.dl-x{position:absolute;font-size:11px;color:var(--dl-ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.dl-y{left:-38px;width:30px;text-align:right;transform:translateY(-50%)}
.dl-x{top:calc(100% + 8px);transform:translateX(-50%)}
.dl-x.is-first{transform:none}
.dl-x.is-last{transform:translateX(-100%)}
.dl-leg{list-style:none;margin:0;padding:4px 0 0;display:grid;gap:2px;align-content:start}
.dl-leg li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:13px;line-height:1.2;padding:5px 6px;border-radius:3px;cursor:default}
.dl-leg li:hover{background:rgba(0,0,0,.05)}
.dl-leg i{display:block;height:2px;border-radius:1px}
.dl-leg b{font-weight:500;font-variant-numeric:tabular-nums;color:var(--dl-ink)}
.dl-leg span{color:var(--dl-ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl.is-hl .l{opacity:.15}
.dl.is-hl .l.is-hl{opacity:1}
.dl-cap{font-size:12px;line-height:1.45;color:var(--dl-ink2);margin:6px 0 0}
@media (max-width:640px){.dl{padding:14px 0 0}.dl-body{grid-template-columns:1fr}.dl-plot{height:220px} .dl-leg{grid-template-columns:1fr 1fr;column-gap:10px}}
.ib-dim{color:var(--td-ink-3)}
.cb-mk{margin-top:18px}
.cb-mk-strip{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid var(--td-hair)}
.cb-mk-btn{color:var(--td-ink);border-bottom:2px solid var(--td-accent);margin-bottom:-1px;gap:8px}
.cb-mk-l{color:var(--td-ink-3)}
.cb-mk-note{margin:0;padding:0 0 11px}
.cb-mk-list{padding:16px 0 4px}
.cb-mk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px}
.cb-mk-grid .td-lc-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none}
.cb-table th.cb-buyer,.cb-table td.cb-buyer{width:34%}
.cb-table td.cb-buyer{color:var(--td-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}
.cb-table th.cb-mkt{width:136px}
.cb-table th.cb-val{width:132px}
.cb-table th.cb-pub{width:124px}
.cb-table.cb-one .cb-mkt{display:none}
@media (max-width:900px){.cb-mk-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}
@media (max-width:640px){ .cb-mk-note{display:none} }

/* --- design <style id="cb-mk-filter"> (contracts-board.html) --- */
.cb-mk{position:relative}
.cb-mk-strip{justify-content:flex-end!important}
.cb-mk-btn{border-bottom:0!important;margin-bottom:0!important;color:var(--td-ink-2,#5C5C5A)!important;font:500 15px/18px var(--td-face);padding:12px 0 10px;display:flex;align-items:center;gap:6px;min-height:44px;background:none;cursor:pointer}
.cb-mk-btn:focus:not(:focus-visible){outline:none}
.cb-mk-active .td-lc-clear{margin-left:8px}
.cb-mk-active{display:flex;gap:4px;align-items:baseline;margin:10px 0 0;font-size:14px;color:var(--td-ink-2,#5C5C5A)}
.cb-mk-active[hidden]{display:none}
.cb-mk-list{position:absolute;top:calc(100% + 6px);right:0;z-index:41;width:min(720px,100%);background:var(--td-canvas);padding:16px 32px 24px!important;box-shadow:0 18px 44px -30px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.11)}
.cb-mk-list[hidden]{display:none}
.cb-mk-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid var(--td-hair);font-size:12px;color:var(--td-ink-2,#5C5C5A)}
.cb-mk-grab,.cb-mk-scrim{display:none}
@media (max-width:640px){
 .cb-mk-list{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:78vh;overflow-y:auto;border-radius:8px 8px 0 0;padding:8px 16px 24px!important;box-shadow:none;border-top:1px solid var(--td-hair)}
 .cb-mk-grab{display:block;width:36px;height:4px;margin:0 auto 8px;border-radius:2px;background:rgba(0,0,0,.18)}
 .cb-mk-head{min-height:44px;padding:0;font-size:13px}
 .cb-mk-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:40;background:rgba(26,26,27,.38)}
 .cb-mk-grid{grid-template-columns:1fr!important}
 .cb-mk-grid .td-lc-opt{min-height:44px;border-bottom:1px solid var(--td-hair-soft)}
}


/* --- deliberate overrides, contracts board (build_board_kit.py, r3-D) --- */
/* g7-pages.css (round 2) set the old market menu's spacing; the design's strip wins on the board. */
.cb-board .cb-mk{margin:18px 0 0}
/* Measured on staging (r3-D round 2): the masthead ends at the lede (no mast padding under it), and the body opens 40px
   under the strip with the first section unruled, as the design's page-pad py-10 does. */
.cb-board .td-board-head .td-dos-mast{padding-bottom:0;margin-bottom:0;border-bottom:0}
.cb-board .td-board-head .td-dos-name{margin-bottom:0}
.cb-board .cb-body{padding-top:40px}
.cb-board .td-sec-head h2{text-wrap:balance}
/* Round 3 measure: the design's chart section holds the figure's 30px bottom margin (483px tall against 449px). */
.cb-board #sec-aw{display:flow-root}
.cb-board .cb-body>.td-sec:first-child{padding-top:0;border-top:0}
.cb-board .cb-mk-active{justify-content:flex-start}
.cb-board .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* The design's Next shell: 40px between the board's sections (28px phone), the market strip under the masthead. */
.cb-board .cb-body>.td-sec+.td-sec{margin-top:40px}
@media (max-width:640px){.cb-board .cb-body>.td-sec+.td-sec{margin-top:28px}}
/* Ruling 3 (9 Nov): filters never scroll inside. The design's phone sheet held 21 markets of 44px in 78vh and scrolled;
   two columns let it fit its content (rule 11: a smaller equivalent of the same control). */
@media (max-width:640px){.cb-board .cb-mk-list{max-height:none;overflow-y:visible;top:auto}.cb-board .cb-mk-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px}.cb-board .cb-mk-grid .td-lc-opt{font-size:14px}}
/* Sort and Filter at the design's 40px with a 44px tap area, as on the macro board. */
.cb-board .td-lc-bar .td-lc-w{height:40px;min-height:40px;position:relative}
.cb-board .td-lc-bar .td-lc-w::after{content:"";position:absolute;left:0;right:0;top:-2px;bottom:-2px}
