/* BROADSHEET · 72 · the DeFi map (Nov 2). Right now and the Map section on the home, and the map, category, record, Alpha and
   For agents pages. Phone first: one column, tables become stacked rows below 760 px, nothing wider than the screen. The
   broadsheet tokens only; gold stays the event (Verified). */
/* The home's own column (.network-home) sets the width and the side gutter; the sections add none. */
:root:root:root:root:root .map-standard { box-sizing: border-box; margin: 0; padding: 44px 0 8px; }
:root:root:root:root:root :is(.map-standard, .map-page) { color: var(--bs-ink); }
:root:root:root:root:root :is(.map-standard, .map-page) * { box-sizing: border-box; }
:root:root:root:root:root .map-head h2,
:root:root:root:root:root .map-page h2 { margin: 0; font-family: var(--bs-serif); font-weight: 450; font-size: clamp(26px, 1.4vw + 18px, 36px); line-height: 1.12; letter-spacing: -.016em; text-wrap: balance; }
:root:root:root:root:root .map-lead { margin: 10px 0 0; max-width: 62ch; font-family: var(--bs-serif); font-size: 17px; line-height: 1.5; color: var(--bs-ink-2); text-wrap: pretty; }
:root:root:root:root:root .map-unknown { color: var(--bs-meta); font-style: italic; }

/* ---------- Right now: four tiles, two by two on a phone ---------- */
:root:root:root:root:root .map-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 22px; border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-tile { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 16px 12px 18px 0; border-bottom: 1px solid var(--bs-hair); color: inherit; text-decoration: none; }
:root:root:root:root:root .map-tile:nth-child(2n) { padding-left: 12px; border-left: 1px solid var(--bs-hair); }
:root:root:root:root:root a.map-tile:hover .map-tile-value { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: var(--bs-hair-2); }
:root:root:root:root:root .map-tile-label { font-size: 11px; font-weight: 640; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-muted); }
:root:root:root:root:root .map-tile-value { font-family: var(--bs-serif); font-weight: 450; font-size: clamp(30px, 2vw + 20px, 46px); line-height: 1.05; letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; }
:root:root:root:root:root .map-tile.is-empty .map-tile-value { font-size: 22px; font-style: italic; color: var(--bs-muted); }
:root:root:root:root:root .map-tile-line { font-size: 14px; line-height: 1.35; color: var(--bs-ink); overflow-wrap: anywhere; }
:root:root:root:root:root .map-tile-small { font-size: 12.5px; line-height: 1.4; color: var(--bs-ink-2); }
:root:root:root:root:root .map-tile-foot { margin-top: auto; padding-top: 6px; font-size: 11.5px; line-height: 1.4; color: var(--bs-meta); }
:root:root:root:root:root .map-more { margin: 14px 0 0; }
:root:root:root:root:root :is(.map-sources-link, .map-page .text-link) { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; font-weight: 640; letter-spacing: .12em; text-transform: uppercase; color: var(--bs-ink); }

/* ---------- The Map section and the category rows ---------- */
:root:root:root:root:root .map-section { padding-bottom: 36px; }
:root:root:root:root:root .map-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
:root:root:root:root:root .map-actions .button { min-height: 44px; }
:root:root:root:root:root .map-rows { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 24px; border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-row { display: flex; flex-direction: column; gap: 2px; min-width: 0; min-height: 44px; padding: 12px 0; border-bottom: 1px solid var(--bs-hair); color: inherit; text-decoration: none; }
:root:root:root:root:root .map-row-label { font-family: var(--bs-serif); font-size: 19px; line-height: 1.25; }
:root:root:root:root:root a.map-row .map-row-label::after { content: " \2192"; color: var(--bs-meta); }
:root:root:root:root:root a.map-row:hover .map-row-label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: var(--bs-hair-2); }
:root:root:root:root:root .map-row-facts { font-size: 13px; line-height: 1.4; color: var(--bs-ink-2); font-variant-numeric: tabular-nums; }
:root:root:root:root:root .map-row.is-unmapped .map-row-label { color: var(--bs-muted); }
:root:root:root:root:root .map-row.is-unmapped .map-row-facts { color: var(--bs-meta); font-style: italic; }

/* ---------- Pages ---------- */
:root:root:root:root:root .map-page { padding-bottom: 56px; }
:root:root:root:root:root .map-breadcrumb { margin: 18px 0 0; overflow-wrap: anywhere; }
:root:root:root:root:root .map-intro { padding: 22px 0 18px; border-bottom: 1px solid var(--bs-rule); }
:root:root:root:root:root .map-intro h1 { margin: 10px 0 0; font-family: var(--bs-serif); font-weight: 430; font-size: clamp(36px, 3vw + 20px, 72px); line-height: 1.02; letter-spacing: -.026em; overflow-wrap: anywhere; text-wrap: balance; }
:root:root:root:root:root .map-page section { margin-top: 36px; }
:root:root:root:root:root .map-key { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 22px 0 0; border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-key > div { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--bs-hair); }
:root:root:root:root:root .map-key dt { margin: 0; }
:root:root:root:root:root .map-key dd { margin: 0; font-size: 14px; line-height: 1.45; color: var(--bs-ink-2); }
:root:root:root:root:root .map-chains { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
:root:root:root:root:root .map-chains a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--bs-hair-2); border-radius: var(--bs-radius-pill); font-size: 13px; color: var(--bs-ink); text-decoration: none; }
:root:root:root:root:root .map-chains a[aria-current] { background: var(--bs-ink); border-color: var(--bs-ink); color: var(--bs-paper); }
:root:root:root:root:root .map-foot { margin: 40px 0 0; padding-top: 14px; border-top: 1px solid var(--bs-hair); max-width: 70ch; font-size: 13px; line-height: 1.5; color: var(--bs-muted); }
:root:root:root:root:root :is(.map-empty, .map-empty-line) { margin: 22px 0 0; font-family: var(--bs-serif); font-style: italic; font-size: 18px; line-height: 1.45; color: var(--bs-muted); }
:root:root:root:root:root .map-empty p { margin: 0 0 6px; }
:root:root:root:root:root .map-sort { margin: 12px 0 0; font-size: 13px; color: var(--bs-muted); }

/* Status words: plain text with a small mark; Verified carries the gold point. */
:root:root:root:root:root .map-status { display: inline-flex; align-items: baseline; gap: 6px; font-size: 13px; font-weight: 560; color: var(--bs-ink); }
:root:root:root:root:root .map-status::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--bs-meta); transform: translateY(-1px); }
:root:root:root:root:root .map-status-in-research::before { background: var(--bs-paper-3); border-color: var(--bs-muted); }
:root:root:root:root:root .map-status-verified::before { background: var(--bs-gold); border-color: var(--bs-gold); box-shadow: 0 0 0 2px var(--bs-gold-wash); }
:root:root:root:root:root .map-status-proven::before { background: var(--bs-green); border-color: var(--bs-green); }
:root:root:root:root:root .map-status-failed::before { background: var(--bs-umber); border-color: var(--bs-umber); }
:root:root:root:root:root :is(.map-flag, .map-stale, .map-one-agent) { font-size: 11px; font-weight: 640; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-umber); }
:root:root:root:root:root .map-one-agent { display: block; margin-top: 2px; color: var(--bs-muted); }
:root:root:root:root:root .map-stale { letter-spacing: .04em; text-transform: none; font-size: 13px; font-weight: 560; }

/* Tables: stacked rows on a phone, each value under its column name; a ruled table from 760 px. */
:root:root:root:root:root .map-table-wrap { margin-top: 18px; }
:root:root:root:root:root .map-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.4; font-variant-numeric: tabular-nums lining-nums; }
:root:root:root:root:root .map-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:root:root:root:root:root .map-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 14px; padding: 14px 0; border-bottom: 1px solid var(--bs-hair); }
:root:root:root:root:root .map-table tbody tr:first-child { border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-table :is(th, td) { display: block; min-width: 0; padding: 0; text-align: left; font-weight: 400; overflow-wrap: anywhere; }
:root:root:root:root:root .map-table tbody th { grid-column: 1 / -1; font-family: var(--bs-serif); font-size: 18px; line-height: 1.3; }
:root:root:root:root:root .map-table tbody td::before { content: attr(data-label); display: block; font-size: 10.5px; font-weight: 640; letter-spacing: .12em; text-transform: uppercase; color: var(--bs-muted); }
:root:root:root:root:root .map-table a { color: var(--bs-ink); }
@media (min-width: 760px) {
  :root:root:root:root:root .map-standard { padding: 64px 0 8px; }
  :root:root:root:root:root .map-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  :root:root:root:root:root .map-tile { padding: 18px 18px 20px; border-left: 1px solid var(--bs-hair); }
  :root:root:root:root:root .map-tile:first-child { padding-left: 0; border-left: 0; }
  :root:root:root:root:root .map-tile:nth-child(2n) { padding-left: 18px; }
  :root:root:root:root:root .map-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
  :root:root:root:root:root .map-key { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
  :root:root:root:root:root .map-key > div { grid-template-columns: 210px minmax(0, 1fr); gap: 16px; }
  :root:root:root:root:root .map-table-wrap { overflow-x: auto; }
  :root:root:root:root:root .map-table thead { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; display: table-header-group; }
  :root:root:root:root:root .map-table tr { display: table-row; padding: 0; }
  :root:root:root:root:root .map-table :is(th, td) { display: table-cell; padding: 12px 14px 12px 0; vertical-align: top; border-bottom: 1px solid var(--bs-hair); overflow-wrap: normal; word-break: normal; hyphens: none; }
  /* A figure or a short word never breaks inside itself; only words with spaces wrap. */
  :root:root:root:root:root .map-table td { min-width: 4.5em; }
  :root:root:root:root:root .map-table thead th { font-size: 10.5px; font-weight: 640; letter-spacing: .12em; text-transform: uppercase; color: var(--bs-muted); border-bottom: 1px solid var(--bs-rule); }
  :root:root:root:root:root .map-table tbody th { font-size: 16px; }
  :root:root:root:root:root .map-table tbody td::before { content: none; }
}
@media (min-width: 1100px) {
  :root:root:root:root:root .map-rows { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Record page: the source call, the requests, the history line. */
:root:root:root:root:root .map-status-line { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: var(--bs-ink-2); }
:root:root:root:root:root .map-status-line .map-flag { margin-left: 8px; }
:root:root:root:root:root .map-source { margin: 12px 0 0; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
:root:root:root:root:root .map-page code { font-size: 13px; padding: 1px 5px; border-radius: 4px; background: var(--bs-paper-2); overflow-wrap: anywhere; word-break: break-word; }
:root:root:root:root:root .map-check-list { margin: 14px 0 0; padding: 0; list-style: none; }
:root:root:root:root:root .map-check-list li { padding: 12px 0; border-bottom: 1px solid var(--bs-hair); line-height: 1.45; }
:root:root:root:root:root .map-check-facts { display: block; font-size: 13px; color: var(--bs-ink-2); }
:root:root:root:root:root .map-request { margin: 18px 0 0; padding: 14px 16px; border-left: 2px solid var(--bs-gold-line); background: var(--bs-paper-2); font-size: 14px; line-height: 1.55; color: var(--bs-ink-2); overflow-wrap: anywhere; }
:root:root:root:root:root .map-request-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
:root:root:root:root:root .map-request-actions .button { min-height: 44px; }
:root:root:root:root:root .map-research { scroll-margin-top: calc(var(--bs-header-h) + 16px); }
:root:root:root:root:root .map-jump { margin: 4px 0 0; font-size: 13px; }
:root:root:root:root:root .map-jump a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bs-muted); }
:root:root:root:root:root .map-chart { display: block; width: 100%; height: 160px; margin-top: 16px; color: var(--bs-ink); border-bottom: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-history-details { margin-top: 12px; font-size: 14px; }
:root:root:root:root:root .map-history-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--bs-ink-2); }
:root:root:root:root:root .map-history-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
:root:root:root:root:root .map-history-table :is(th, td) { padding: 6px 12px 6px 0; text-align: left; border-bottom: 1px solid var(--bs-hair); font-weight: 400; }
:root:root:root:root:root .map-flags ul { margin: 12px 0 0; padding-left: 18px; line-height: 1.5; }

/* Alpha: the shelf ledger's rows (network-shelf-ledger-style.js), and the track record. */
:root:root:root:root:root .map-alpha-verified .nl-entries { margin-top: 12px; border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-alpha-verified .nl-round { margin: 6px 0 0; font-size: 12px; font-weight: 640; letter-spacing: .12em; text-transform: uppercase; }
:root:root:root:root:root .map-alpha-verified .nl-round a { color: var(--bs-ink); }
:root:root:root:root:root .map-track-list { margin: 12px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-track-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 14px 0; border-bottom: 1px solid var(--bs-hair); }
:root:root:root:root:root .map-track-list a { font-family: var(--bs-serif); font-size: 18px; color: var(--bs-ink); overflow-wrap: anywhere; }
:root:root:root:root:root .map-outcome { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
:root:root:root:root:root .map-outcome-proven { color: var(--bs-green); }
:root:root:root:root:root .map-outcome-failed { color: var(--bs-umber); }
:root:root:root:root:root .map-track-until { font-size: 13px; color: var(--bs-meta); }

/* For agents. */
:root:root:root:root:root .map-agents-section { scroll-margin-top: calc(var(--bs-header-h) + 16px); max-width: 980px; }
:root:root:root:root:root .map-agents-section > p { max-width: 70ch; margin: 12px 0 0; font-size: 16px; line-height: 1.55; color: var(--bs-ink-2); }
:root:root:root:root:root .map-calls { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
:root:root:root:root:root .map-links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
:root:root:root:root:root .map-skills { margin: 12px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-hair-2); }
:root:root:root:root:root .map-skills li { padding: 14px 0; border-bottom: 1px solid var(--bs-hair); line-height: 1.5; color: var(--bs-ink-2); }
:root:root:root:root:root .map-skills strong { display: block; font-family: var(--bs-serif); font-weight: 480; font-size: 19px; color: var(--bs-ink); }

/* ---------- Money's tabs (owner Nov 3): the menu is Money · Talks · Agents; Map, Research and Alpha are Money's tabs ----------
   The section-front look of the workspace's Research · Talks strip, three columns, on the map pages and the Research view. */
:root:root:root:root:root .network-money-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; margin: 0; border-bottom: 1px solid var(--bs-rule); }
:root:root:root:root:root .network-money-tabs > a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 48px; box-sizing: border-box; padding: 10px 0 14px; color: var(--bs-muted); border-bottom: 3px solid transparent; margin-bottom: -1px; text-decoration: none; white-space: nowrap; font-size: 11.5px; font-weight: 640; letter-spacing: .16em; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
:root:root:root:root:root .network-money-tabs > a:hover { color: var(--bs-ink); }
:root:root:root:root:root .network-money-tabs > a[aria-current="page"] { color: var(--bs-ink); border-color: var(--bs-rule); }
:root:root:root:root:root .network-money-tabs > a:focus-visible { outline: 2px solid var(--bs-ink); outline-offset: -2px; }
@media (min-width: 601px) { :root:root:root:root:root .network-money-tabs > a { min-height: 52px; font-size: 12px; letter-spacing: .2em; } }
@media (hover: none) { :root:root:root:root:root .network-money-tabs > a:not([aria-current="page"]):hover { color: var(--bs-muted); } }
@media (prefers-reduced-motion: reduce) { :root:root:root:root:root .network-money-tabs > a { transition: none; } }
/* Research categories with the map's live numbers (owner, Nov 3). Only while the map is on: the workspace links this sheet
   right before its category grid, so the site stylesheet and every page with the map off stay main's byte for byte. Each
   tile says under its name what the map holds there now and opens /map/<category>: the count on one line, when it was read
   on the next ("192 live markets", "read 3 min ago"; the dot between them is for screen readers and copy only). Two short
   lines fit a half-width phone cell at 320 px and a quarter-width desktop cell at 1100 px without cutting a word. The lines
   keep their place when a number was not read, so every tile in a row keeps one height and nothing moves after paint. Same
   selectors as the site's grid rules, later in the page, so these win. */
:root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page .ni-category-grid--live .ni-category-live {
  display: block; min-height: 2.9em; margin: 0; font-size: 12.5px; line-height: 1.45; font-weight: 500; color: var(--bs-ink-2);
  font-variant-numeric: tabular-nums lining-nums;
}
:root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page .ni-category-grid--live .ni-category-live > span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page .ni-category-grid--live .ni-category-live > .ni-category-live-sep { display: none; }
@media (max-width: 699px) {
  :root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page:not(.ni-channel-directory) .ni-category-grid--live .ni-category-copy { gap: 3px; min-width: 0; }
  :root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page:not(.ni-channel-directory) .ni-category-grid--live .ni-category-live { min-height: 2.7em; font-size: 12px; line-height: 1.35; }
  :root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page:not(.ni-channel-directory) .ni-category-grid--live > .ni-category-card { align-items: start; }
  :root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page:not(.ni-channel-directory) .ni-category-grid--live .ni-category-symbol { margin-top: 2px; }
  @media (max-width: 374px) {
    :root:root:root:root:root:root:root:root:root:root:root:root body[data-network-standard] .ni-page:not(.ni-channel-directory) .ni-category-grid--live .ni-category-live { font-size: 11.5px; }
  }
}
