/* Shared editorial shell for Actionist research, docs, industries and packs. */
:root {
  --portal-ink: #111b1d;
  --portal-paper: #f4f1e9;
  --portal-sheet: #fffdf8;
  --portal-line: #cbc5b8;
  --portal-muted: #596164;
  --portal-accent: #6f00b8;
  --portal-accent-strong: #560091;
  --portal-accent-soft: #d299ff;
  --portal-accent-wash: #eee2f6;
  --portal-warn: #8a3f2d;
  --portal-max: 1280px;
  --portal-reading: 920px;
  --portal-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --portal-serif: Iowan Old Style, Charter, Palatino Linotype, Book Antiqua, Palatino, Georgia, serif;
  --portal-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

body[data-research-surface] {
  --am-mint: var(--portal-accent-soft);
  --accent: var(--portal-accent);
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--portal-ink);
  background: var(--portal-paper);
  font-family: var(--portal-sans);
}
body[data-research-surface].actionist-nav-ready { padding-left: var(--actionist-nav-width); }
body[data-research-surface].actionist-nav-ready.actionist-nav-collapsed { padding-left: var(--actionist-nav-rail); }
body[data-research-surface] > .topbar,
body[data-research-surface] > .project-mast { display: none; }

.research-global-nav {
  position: sticky;
  z-index: 900;
  top: 0;
  display: grid;
  min-height: 66px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 0 max(20px, calc((100vw - var(--portal-max)) / 2));
  color: #edf1ee;
  border-bottom: 1px solid #344345;
  background: var(--portal-ink);
}
.research-global-nav__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #edf1ee;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.025em;
  text-decoration: none;
}
.research-global-nav__brand span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #f8f4fa;
  background: var(--portal-accent);
  font: 800 10px/1 var(--portal-mono);
}
.research-global-nav nav { display: flex; align-items: stretch; justify-content: center; gap: 4px; }
.research-global-nav nav a {
  display: inline-flex;
  min-height: 66px;
  align-items: center;
  padding: 0 12px;
  color: #aeb9b7;
  border-bottom: 2px solid transparent;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .02em;
  text-decoration: none;
}
.research-global-nav nav a:hover,
.research-global-nav nav a:focus-visible,
.research-global-nav nav a[aria-current="page"] {
  color: #edf1ee;
  border-bottom-color: var(--portal-accent-soft);
  outline: none;
}
.research-global-nav__truth {
  color: #a9b5b2;
  font: 700 9px/1.3 var(--portal-mono);
  letter-spacing: .05em;
  text-align: right;
  text-transform: uppercase;
}
.research-global-nav__truth strong { display: block; color: var(--portal-accent-soft); }

body[data-research-surface] .node-shell {
  width: 100%;
  min-height: calc(100vh - 66px);
  margin: 0;
  border: 0;
  border-radius: 0;
  background: var(--portal-paper);
  box-shadow: none;
}
body[data-research-surface] .node-header {
  display: flex;
  width: min(var(--portal-max), calc(100% - 48px));
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 auto;
  padding: 0;
  border-bottom: 1px solid var(--portal-line);
  background: transparent;
}
body[data-research-surface] .breadcrumbs,
.portal-breadcrumbs {
  color: var(--portal-muted);
  font: 650 10px/1.4 var(--portal-mono);
  letter-spacing: .015em;
}
body[data-research-surface] .breadcrumbs a,
.portal-breadcrumbs a { color: var(--portal-accent); text-decoration: none; }
body[data-research-surface] .breadcrumbs a:hover,
body[data-research-surface] .breadcrumbs a:focus-visible,
.portal-breadcrumbs a:hover,
.portal-breadcrumbs a:focus-visible { color: var(--portal-ink); text-decoration: underline; text-underline-offset: 3px; outline: none; }
body[data-research-surface] .node-actions .button {
  color: var(--portal-accent);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: transparent;
  font: 700 10px/1 var(--portal-sans);
  text-transform: none;
}
body[data-research-surface] .node-actions .button:hover,
body[data-research-surface] .node-actions .button:focus-visible { color: #edf1ee; border-color: var(--portal-ink); background: var(--portal-ink); outline: none; }

.portal-context {
  display: grid;
  width: min(var(--portal-max), calc(100% - 48px));
  grid-template-columns: 170px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: start;
  margin: 26px auto 0;
  padding: 16px 0;
  color: var(--portal-muted);
  border-top: 1px solid var(--portal-ink);
  border-bottom: 1px solid var(--portal-line);
  font-size: 12px;
  line-height: 1.55;
}
.portal-context strong { color: var(--portal-ink); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.portal-context p,
.portal-context > span { max-width: 760px; margin: 0; }
.portal-context code { color: var(--portal-accent); font-family: var(--portal-mono); font-size: 10px; overflow-wrap: anywhere; }

.portal-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 22px 0;
}
.portal-search {
  min-width: 0;
  flex: 1;
  height: 44px;
  padding: 0 14px;
  color: var(--portal-ink);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: var(--portal-sheet);
  font: 500 13px/1 var(--portal-sans);
}
.portal-search:focus { border-color: var(--portal-accent); outline: 3px solid rgba(144,0,255,.18); outline-offset: 1px; }
.portal-result-count { color: var(--portal-muted); font: 700 10px/1 var(--portal-mono); white-space: nowrap; }

.portal-reading-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 64px;
  align-items: start;
}
.portal-toc {
  position: sticky;
  top: 92px;
  grid-column: 2;
  grid-row: 1;
  padding-top: 12px;
  border-top: 1px solid var(--portal-ink);
}
.portal-toc strong { display: block; margin-bottom: 10px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.portal-toc ol { margin: 0; padding: 0; list-style: none; }
.portal-toc li + li { margin-top: 7px; }
.portal-toc a { color: var(--portal-muted); font-size: 11px; line-height: 1.35; text-decoration: none; }
.portal-toc a:hover,
.portal-toc a:focus-visible { color: var(--portal-accent); text-decoration: underline; text-underline-offset: 3px; outline: none; }
.portal-toc li.is-subsection { padding-left: 12px; }
.portal-reading-main { min-width: 0; }

.portal-related {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 48px;
  padding: 22px 0;
  border-top: 1px solid var(--portal-ink);
}
.portal-related a { max-width: 46%; color: var(--portal-accent); font-size: 12px; font-weight: 750; text-decoration: none; }
.portal-related a:hover,
.portal-related a:focus-visible { color: var(--portal-ink); text-decoration: underline; text-underline-offset: 4px; outline: none; }
.portal-related--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portal-related--grid a { max-width: none; }

.portal-corpus-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 20px;
  align-items: end;
  margin: 28px 0;
  padding: 18px;
  border: 1px solid var(--portal-line);
  background: var(--portal-sheet);
}
.portal-corpus-search > label { grid-column: 1 / -1; color: var(--portal-ink); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.portal-corpus-search input[type="search"] {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0 14px;
  color: var(--portal-ink);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: var(--portal-sheet);
  font: 550 14px/1 var(--portal-sans);
}
.portal-corpus-search input[type="search"]:focus { border-color: var(--portal-accent); outline: 3px solid rgba(144,0,255,.18); outline-offset: 1px; }
.portal-filter-row,
.portal-select-row { display: flex; grid-column: 1 / -1; gap: 8px; align-items: end; flex-wrap: wrap; }
.portal-filter-row button {
  min-height: 34px;
  padding: 0 12px;
  color: var(--portal-muted);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: transparent;
  font: 750 10px/1 var(--portal-sans);
}
.portal-filter-row button[aria-pressed="true"] { color: #f8f4fa; border-color: var(--portal-accent); background: var(--portal-accent); }
.portal-select-row label { display: grid; gap: 5px; color: var(--portal-muted); font: 750 9px/1 var(--portal-mono); text-transform: uppercase; }
.portal-select-row select { min-width: 180px; height: 38px; padding: 0 30px 0 10px; color: var(--portal-ink); border: 1px solid var(--portal-line); border-radius: 0; background: var(--portal-sheet); font: 600 11px/1 var(--portal-sans); }

body[data-research-surface] .industry-index,
body[data-research-surface] .industry-detail,
body[data-research-surface] .docs-index,
body[data-research-surface] .doc-page,
body[data-research-surface] .registry-page,
body[data-research-surface] .artifact-view,
body[data-research-surface] .node-content {
  width: min(var(--portal-max), calc(100% - 48px));
  margin-inline: auto;
}
body[data-research-surface] .industry-index__hero,
body[data-research-surface] .industry-detail__hero,
body[data-research-surface] .docs-index__hero,
body[data-research-surface] .registry-page__hero {
  border-bottom-color: var(--portal-ink);
}
body[data-research-surface] .industry-index h1,
body[data-research-surface] .industry-detail__hero h1,
body[data-research-surface] .docs-index h1,
body[data-research-surface] .doc-page__hero h1,
body[data-research-surface] .registry-page__hero h1,
body[data-research-surface] .portal-pack-hero h1 {
  color: var(--portal-ink);
  font-family: var(--portal-serif);
  font-weight: 540;
  letter-spacing: -.055em;
}
body[data-research-surface] .industry-index__status,
body[data-research-surface] .industry-detail__status,
body[data-research-surface] .docs-index__status,
body[data-research-surface] .registry-page__status {
  color: var(--portal-muted);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: var(--portal-sheet);
}
body[data-research-surface] .industry-index__status strong,
body[data-research-surface] .industry-detail__status strong,
body[data-research-surface] .docs-index__status strong,
body[data-research-surface] .registry-page__status strong { color: var(--portal-ink); }

body[data-research-surface] .industry-card-grid,
body[data-research-surface] .docs-card-grid,
.portal-pack-grid { gap: 1px; background: var(--portal-line); }
body[data-research-surface] .industry-card,
body[data-research-surface] .docs-card,
.portal-pack-card {
  min-height: 190px;
  padding: 20px;
  color: inherit;
  border: 0;
  border-radius: 0;
  background: var(--portal-sheet);
  box-shadow: none;
  text-decoration: none;
  transform: none;
}
body[data-research-surface] .industry-card:hover,
body[data-research-surface] .industry-card:focus-visible,
body[data-research-surface] .docs-card:hover,
body[data-research-surface] .docs-card:focus-visible,
.portal-pack-card:hover,
.portal-pack-card:focus-visible {
  color: inherit;
  background: var(--portal-accent-wash);
  box-shadow: none;
  outline: 3px solid var(--portal-accent);
  outline-offset: -3px;
  transform: none;
}
body[data-research-surface] .industry-card.sparse { border: 0; background: #f7eee1; }

body[data-research-surface] .industry-note,
body[data-research-surface] .industry-sparse-alert,
body[data-research-surface] .docs-note {
  color: var(--portal-muted);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: var(--portal-sheet);
}
body[data-research-surface] .industry-table-wrap,
body[data-research-surface] .industry-detail__card,
body[data-research-surface] .industry-detail__metric,
body[data-research-surface] .doc-prose pre,
body[data-research-surface] .doc-footnote {
  border-radius: 0;
}
body[data-research-surface] .industry-detail__section h2,
body[data-research-surface] .doc-prose h2,
.portal-pack-article h2 { scroll-margin-top: 92px; }
body[data-research-surface] .doc-prose,
.portal-pack-article {
  max-width: var(--portal-reading);
  color: #4f5859;
  font-size: 14px;
  line-height: 1.72;
}
body[data-research-surface] .doc-prose h1,
body[data-research-surface] .doc-prose h2,
body[data-research-surface] .doc-prose h3,
.portal-pack-article h1,
.portal-pack-article h2,
.portal-pack-article h3 { color: var(--portal-ink); }
body[data-research-surface] .doc-prose blockquote,
.portal-pack-article blockquote {
  padding: 14px 18px;
  color: var(--portal-muted);
  border: 1px solid #c6a5dc;
  border-radius: 0;
  background: var(--portal-accent-wash);
}

body[data-research-surface] :is(
  .registry-card__description,
  .registry-source,
  .industry-card__description,
  .industry-detail__metric span,
  .industry-detail__source,
  .docs-card__description,
  .docs-card__source,
  .doc-generated,
  .doc-page__neighbor
) { color: var(--portal-muted); }
body[data-research-surface] :is(.registry-card__meta, .industry-card__id, .docs-card__meta) { color: var(--portal-accent); }
body[data-research-surface] :is(.registry-table th, .industry-table th, .artifact-table th, .doc-prose th) { color: #514a55; }
body[data-research-surface] :is(.registry-chip.mint, .artifact-state.verified, .industry-chip.observed, .industry-status.observed, .industry-status.shared_candidate_coverage, .industry-status.executed_stage_0_discovery) {
  color: var(--portal-accent-strong);
  background: var(--portal-accent-wash);
}
body[data-research-surface] :is(.node-card.mint, .industry-detail__card.mint, .framework-detail__card.mint) { background: var(--portal-accent-wash); }
body[data-research-surface] :is(.registry-note, .industry-note, .docs-note) {
  color: var(--portal-muted);
  border: 1px solid var(--portal-line);
  border-radius: 0;
  background: var(--portal-accent-wash);
}
body[data-research-surface] :is(.registry-note, .industry-note, .docs-note) strong { color: var(--portal-ink); }
body[data-research-surface] .convergence { color: var(--portal-ink); border-color: #c6a5dc; background: var(--portal-accent-wash); }
body[data-research-surface] :is(.convergence-head h2, .convergence-flow strong, .convergence-status, .matrix-title, .convergence .artifact-table a) { color: var(--portal-accent-strong); }
body[data-research-surface] :is(.convergence-head p, .convergence-flow span, .convergence-grid p) { color: var(--portal-muted); }
body[data-research-surface] :is(.convergence-flow div, .convergence-grid article) { border-color: #c6a5dc; background: var(--portal-sheet); }

body[data-research-surface="part"] .node-hero {
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr);
  gap: 44px;
  padding: 48px 0;
  border-bottom: 1px solid var(--portal-ink);
}
body[data-research-surface="part"] .node-hero h1 {
  max-width: 900px;
  color: var(--portal-ink);
  font-family: var(--portal-serif);
  font-size: clamp(46px, 6vw, 76px);
  font-weight: 520;
  line-height: .98;
  letter-spacing: -.055em;
}
body[data-research-surface="part"] .node-thesis { color: var(--portal-muted); font-size: 16px; line-height: 1.6; }
body[data-research-surface="part"] .node-status,
body[data-research-surface="part"] .node-card { border-radius: 0; box-shadow: none; }
body[data-research-surface="part"] .node-section > h2 { color: var(--portal-ink); font-family: var(--portal-serif); font-size: clamp(30px, 4vw, 46px); font-weight: 520; letter-spacing: -.04em; }
.system-part-card { min-height: 260px !important; }
.system-part-card__relations { display: flex; gap: 7px; margin-top: auto; padding-top: 18px; flex-wrap: wrap; }
.system-part-card__relations span { color: var(--portal-muted); font: 700 8px/1.3 var(--portal-mono); text-transform: uppercase; }
.system-parts-relations { margin-top: 62px; }
.system-parts-relations > h2 { margin: 0; font-family: var(--portal-serif); font-size: clamp(32px, 4vw, 48px); font-weight: 520; letter-spacing: -.04em; }
.system-parts-relations > p { max-width: 760px; color: var(--portal-muted); line-height: 1.65; }
.system-parts-relations > div { margin-top: 24px; border-top: 1px solid var(--portal-ink); }
.system-part-relation {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.25fr) minmax(220px, 1fr);
  gap: 24px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--portal-line);
}
.system-part-relation header { display: flex; gap: 10px; align-items: baseline; }
.system-part-relation header > span { color: var(--portal-accent); font: 800 9px/1 var(--portal-mono); }
.system-part-relation h3 { margin: 0; font-size: 14px; }
.system-part-relation h3 a { color: var(--portal-ink); text-decoration: none; }
.system-part-relation h3 a:hover,
.system-part-relation h3 a:focus-visible { color: var(--portal-accent); text-decoration: underline; text-underline-offset: 3px; }
.system-part-relation p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.system-part-relation p::before,
.system-part-relation > div::before { display: block; margin-bottom: 7px; color: var(--portal-ink); font: 800 8px/1 var(--portal-mono); letter-spacing: .08em; text-transform: uppercase; }
.system-part-relation p::before { content: "Produces"; }
.system-part-relation > div::before { width: 100%; content: "Depends on"; }
.system-part-relation > div { display: flex; gap: 5px; flex-wrap: wrap; }
.system-part-relation > div a,
.system-part-relation > div span { padding: 5px 7px; color: var(--portal-accent); border: 1px solid var(--portal-line); font: 700 8px/1 var(--portal-mono); text-decoration: none; }

.portal-pack-index,
.portal-pack-page { width: min(var(--portal-max), calc(100% - 48px)); margin: 0 auto; padding: 52px 0 88px; }
.portal-pack-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr); gap: 44px; align-items: end; padding: 30px 0 44px; border-bottom: 1px solid var(--portal-ink); }
.portal-pack-hero h1 { max-width: 880px; margin: 12px 0 18px; font-size: clamp(48px, 6vw, 82px); line-height: .94; }
.portal-pack-hero p { max-width: 760px; margin: 0; color: var(--portal-muted); font-size: 15px; line-height: 1.65; }
.portal-pack-summary { padding: 18px 0; border-top: 1px solid var(--portal-line); border-bottom: 1px solid var(--portal-line); }
.portal-pack-summary strong { display: block; font-size: 20px; }
.portal-pack-summary span { color: var(--portal-muted); font-size: 11px; }
.portal-pack-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; }
.portal-pack-card { display: flex; flex-direction: column; }
.portal-pack-card span,
.portal-pack-card code { color: var(--portal-accent); font: 700 10px/1.3 var(--portal-mono); }
.portal-pack-card h2 { margin: 18px 0 8px; font-size: 18px; letter-spacing: -.025em; }
.portal-pack-card h3 { margin: 18px 0 8px; color: var(--portal-ink); font-size: 17px; letter-spacing: -.025em; }
.portal-pack-card p { margin: 0; color: var(--portal-muted); font-size: 12px; line-height: 1.55; }
.portal-pack-card small { margin-top: auto; padding-top: 24px; color: var(--portal-warn); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.portal-pack-page__source { color: var(--portal-muted); font: 650 10px/1.55 var(--portal-mono); overflow-wrap: anywhere; }
.portal-pack-article { margin-top: 36px; }
.portal-pack-meta { display: flex; gap: 8px; margin-top: 22px; flex-wrap: wrap; }
.portal-pack-meta span { padding: 7px 9px; color: var(--portal-muted); border: 1px solid var(--portal-line); font: 700 9px/1 var(--portal-mono); }
.portal-redactions { margin-top: 18px !important; padding: 12px; border-left: 3px solid var(--portal-warn); background: #f7eee1; font-size: 11px !important; }
.portal-exclusion { margin-top: 36px; padding: 28px; border: 1px solid #d8b9aa; background: #f8eee8; }
.portal-exclusion h2 { margin-top: 0; font-family: var(--portal-serif); font-size: 32px; }
.portal-exclusion dl { display: grid; grid-template-columns: 130px 1fr; gap: 10px 18px; margin: 24px 0 0; }
.portal-exclusion dt { color: var(--portal-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.portal-exclusion dd { margin: 0; }
.portal-pack-group { width: 100%; margin: 54px 0 0; scroll-margin-top: 90px; }
.portal-pack-group > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--portal-ink); }
.portal-pack-group > header p { margin: 0 0 6px; color: var(--portal-accent); font: 750 9px/1 var(--portal-mono); text-transform: uppercase; }
.portal-pack-group > header h2 { margin: 0; font-family: var(--portal-serif); font-size: clamp(26px, 3vw, 40px); font-weight: 520; letter-spacing: -.035em; }
.portal-pack-group > header > span { color: var(--portal-muted); font: 750 10px/1 var(--portal-mono); }
.portal-record-list { display: grid; gap: 8px; }
.portal-record { border: 1px solid var(--portal-line); background: var(--portal-sheet); }
.portal-record summary { display: flex; justify-content: space-between; gap: 20px; padding: 13px 15px; cursor: pointer; font-size: 12px; font-weight: 700; }
.portal-record summary small { flex: none; color: var(--portal-muted); font: 700 9px/1 var(--portal-mono); }
.portal-record pre,
.portal-source-code { max-width: 100%; max-height: 70vh; margin: 0; padding: 18px; overflow: auto; color: #e2e9e6; background: var(--portal-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.portal-pack-article table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.portal-pack-article th,
.portal-pack-article td { padding: 9px 11px; border: 1px solid var(--portal-line); text-align: left; vertical-align: top; }
.portal-pack-article pre { max-width: 100%; padding: 16px; overflow: auto; color: #dfe7e4; background: var(--portal-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.portal-pack-article code { font-family: var(--portal-mono); overflow-wrap: anywhere; }

.block-hub-page,
.block-detail { width: min(var(--portal-max), calc(100% - 48px)); margin: 0 auto; padding: 46px 0 88px; }
.block-hub-section,
.block-detail__section { margin-top: 58px; }
.block-hub-section > h2,
.block-detail__section > h2,
.block-section-heading h2 { margin: 0 0 8px; color: var(--portal-ink); font-family: var(--portal-serif); font-size: clamp(30px, 4vw, 48px); font-weight: 520; letter-spacing: -.04em; }
.block-hub-section > p,
.block-detail__section > p,
.block-section-heading p { max-width: 800px; color: var(--portal-muted); line-height: 1.65; }
.block-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--portal-ink); }
.block-inventory-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 24px; border-top: 1px solid var(--portal-ink); border-bottom: 1px solid var(--portal-line); }
.block-inventory-metrics article { min-width: 0; min-height: 154px; padding: 20px 16px; border-right: 1px solid var(--portal-line); background: var(--portal-sheet); }
.block-inventory-metrics article:last-child { border-right: 0; }
.block-inventory-metrics article[data-evidence-stage="source"] { background: var(--portal-accent-wash); }
.block-inventory-metrics article[data-evidence-stage="formal"] { color: #f8f4fa; background: var(--portal-ink); }
.block-inventory-metrics strong { display: block; color: var(--portal-accent); font-family: var(--portal-serif); font-size: 38px; font-weight: 520; line-height: 1; }
.block-inventory-metrics article[data-evidence-stage="formal"] strong { color: var(--portal-accent-soft); }
.block-inventory-metrics span { display: block; margin-top: 13px; font-size: 12px; font-weight: 800; }
.block-inventory-metrics small { display: block; margin-top: 7px; color: var(--portal-muted); font-size: 9px; line-height: 1.5; }
.block-inventory-metrics article[data-evidence-stage="formal"] small { color: #c8c0cc; }
.block-hub-evidence { display: grid; grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr); gap: 52px; align-items: start; }
.block-hub-evidence > div { position: sticky; top: 92px; }
.block-evidence-ladder { margin: 0; padding: 0; border-top: 1px solid var(--portal-ink); list-style: none; }
.block-evidence-ladder li { display: grid; grid-template-columns: 34px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid var(--portal-line); }
.block-evidence-ladder li > span { color: var(--portal-muted); font: 750 9px/1 var(--portal-mono); }
.block-evidence-ladder li[data-ladder-state="current"] > span { color: var(--portal-accent); }
.block-evidence-ladder strong { display: block; font-size: 13px; }
.block-evidence-ladder p { margin: 5px 0 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.block-hub-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--portal-line); }
.block-hub-summary-grid > article { min-width: 0; padding: 24px; background: var(--portal-sheet); }
.block-hub-summary-grid h2 { margin: 0; font-family: var(--portal-serif); font-size: 30px; font-weight: 520; }
.block-hub-summary-grid > article > p { color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.block-supply-map { margin: 20px 0 0; border-top: 1px solid var(--portal-line); }
.block-supply-map > div { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--portal-line); }
.block-supply-map dt { color: var(--portal-accent); font-family: var(--portal-serif); font-size: 27px; line-height: 1; }
.block-supply-map dd { margin: 0; }
.block-supply-map dd strong { display: block; font-size: 11px; }
.block-supply-map dd span { display: block; margin-top: 4px; color: var(--portal-muted); font-size: 9px; line-height: 1.45; }
.block-layer-map { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 20px; border-top: 1px solid var(--portal-line); border-left: 1px solid var(--portal-line); }
.block-layer-map div { min-width: 0; padding: 15px 9px; border-right: 1px solid var(--portal-line); border-bottom: 1px solid var(--portal-line); }
.block-layer-map strong { display: block; color: var(--portal-accent); font-family: var(--portal-serif); font-size: 26px; font-weight: 520; }
.block-layer-map span { color: var(--portal-muted); font: 700 8px/1.3 var(--portal-mono); text-transform: uppercase; }
.block-source-tally { margin-top: 18px; color: var(--portal-accent) !important; font: 700 9px/1.5 var(--portal-mono) !important; }
.block-recipe-grid { margin-top: 22px; border-top: 1px solid var(--portal-ink); }
.block-recipe-grid > article {
  display: grid;
  min-width: 0;
  grid-template-columns: 76px minmax(170px, .65fr) minmax(260px, 1.25fr) minmax(210px, .8fr);
  gap: 20px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--portal-line);
}
.block-recipe-grid > article > span { color: var(--portal-accent); font: 750 9px/1 var(--portal-mono); text-transform: uppercase; }
.block-recipe-grid > article h3 { margin: 0; font-size: 16px; }
.block-recipe-grid > article > p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.block-recipe-grid > article > :is(.block-link-cloud, details) { min-width: 0; }
.block-recipe-grid > article > details > summary { color: var(--portal-accent); cursor: pointer; font-size: 11px; font-weight: 750; }
.block-record-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 24px; background: var(--portal-line); }
.block-record-card { display: flex; min-width: 0; flex-direction: column; padding: 18px; color: inherit; background: var(--portal-sheet); }
.block-record-card:hover,
.block-record-card:focus-within { background: var(--portal-accent-wash); outline: 3px solid var(--portal-accent); outline-offset: -3px; }
.block-record-card__meta { display: flex; gap: 7px; flex-wrap: wrap; }
.block-record-card__meta span { color: var(--portal-accent); font: 750 8px/1 var(--portal-mono); text-transform: uppercase; }
.block-record-card h3 { margin: 20px 0 8px; font-size: 17px; line-height: 1.25; }
.block-record-card__title { color: var(--portal-ink); text-decoration: none; }
.block-record-card__title:hover,
.block-record-card__title:focus-visible { color: var(--portal-accent); text-decoration: underline; text-underline-offset: 3px; }
.block-record-card > p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.block-record-card__families,
.block-record-card__candidate { margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--portal-line); }
.block-record-card__families > span,
.block-record-card__candidate > span { display: block; margin-bottom: 7px; color: var(--portal-muted); font: 750 8px/1 var(--portal-mono); letter-spacing: .06em; text-transform: uppercase; }
.block-record-card__families > div { display: flex; gap: 5px; flex-wrap: wrap; }
.block-record-card__families a,
.block-record-card__families div > span { padding: 5px 6px; color: var(--portal-accent-strong); border: 1px solid #c6a5dc; background: var(--portal-accent-wash); font: 700 8px/1.35 var(--portal-mono); text-decoration: none; }
.block-record-card__families a:hover,
.block-record-card__families a:focus-visible { color: #f8f4fa; border-color: var(--portal-accent); background: var(--portal-accent); }
.block-record-card__candidate a,
.block-record-card__candidate strong { display: block; color: var(--portal-accent); font: 750 10px/1.4 var(--portal-mono); overflow-wrap: anywhere; }
.block-record-card__candidate small { display: block; margin-top: 5px; color: var(--portal-muted); font: 700 8px/1.4 var(--portal-mono); text-transform: uppercase; }
.block-record-card__foot { display: flex; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 20px; color: var(--portal-muted); font: 700 8px/1.3 var(--portal-mono); text-transform: uppercase; }
.block-record-card__foot a { flex: none; color: var(--portal-accent); }
.block-family-list { columns: 2; column-gap: 12px; margin-top: 22px; }
.block-family { break-inside: avoid; margin-bottom: 8px; border: 1px solid var(--portal-line); background: var(--portal-sheet); }
.block-family summary { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; cursor: pointer; font-size: 11px; font-weight: 750; }
.block-family summary small { color: var(--portal-muted); font: 700 9px/1 var(--portal-mono); }
.block-link-cloud { display: flex; gap: 6px; padding: 12px; flex-wrap: wrap; }
.block-link-cloud a { padding: 6px 8px; color: var(--portal-accent); border: 1px solid var(--portal-line); font: 700 9px/1.3 var(--portal-mono); text-decoration: none; }
.block-link-cloud a:hover,
.block-link-cloud a:focus-visible,
.block-link-cloud a[aria-current="page"] { color: #f8f4fa; border-color: var(--portal-accent); background: var(--portal-accent); }
.block-detail__hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .5fr); gap: 46px; align-items: end; padding: 42px 0; border-bottom: 1px solid var(--portal-ink); }
.block-detail__hero > div > p { color: var(--portal-accent); font: 750 10px/1 var(--portal-mono); text-transform: uppercase; }
.block-detail__hero h1 { max-width: 900px; margin: 14px 0; font-family: var(--portal-serif); font-size: clamp(48px, 6vw, 78px); font-weight: 520; line-height: .98; letter-spacing: -.055em; }
.block-detail__outcome { max-width: 820px; color: var(--portal-muted); font-size: 16px; line-height: 1.6; }
.block-detail__hero aside { padding: 18px; border: 1px solid var(--portal-line); background: var(--portal-sheet); }
.block-detail__hero aside span { color: var(--portal-muted); font: 750 9px/1 var(--portal-mono); text-transform: uppercase; }
.block-detail__hero aside strong { display: block; margin: 10px 0; font-size: 20px; }
.block-detail__hero aside p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.block-detail__metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--portal-line); }
.block-detail__metrics div { padding: 18px 0; border-right: 1px solid var(--portal-line); }
.block-detail__metrics div + div { padding-left: 18px; }
.block-detail__metrics div:last-child { border-right: 0; }
.block-detail__metrics strong { display: block; font-family: var(--portal-serif); font-size: 28px; font-weight: 520; }
.block-detail__metrics span { color: var(--portal-muted); font: 700 9px/1 var(--portal-mono); text-transform: uppercase; }
.block-detail__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--portal-line); }
.block-detail__columns > article { padding: 20px; background: var(--portal-sheet); }
.block-detail__columns h3 { margin-top: 0; }
.block-detail__columns li { margin-bottom: 7px; color: var(--portal-muted); font-size: 12px; line-height: 1.45; }
.block-candidate-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--portal-line); }
.block-candidate { min-width: 0; padding: 18px; background: var(--portal-sheet); }
.block-candidate__head { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.block-candidate__head a { color: var(--portal-accent); font: 750 11px/1.35 var(--portal-mono); overflow-wrap: anywhere; }
.block-candidate__head span { color: var(--portal-muted); font: 700 8px/1 var(--portal-mono); text-transform: uppercase; }
.block-candidate p { color: var(--portal-muted); font-size: 11px; line-height: 1.55; }
.block-candidate small { color: var(--portal-warn); font: 700 8px/1.4 var(--portal-mono); }
.block-edge-list { margin-top: 18px; border: 1px solid var(--portal-line); background: var(--portal-sheet); }
.block-edge-list > summary { padding: 14px; cursor: pointer; font-size: 11px; font-weight: 750; }

[hidden] { display: none !important; }
:where(a, button, input):focus-visible { outline: 3px solid var(--portal-accent); outline-offset: 3px; }

@media (max-width: 900px) {
  .research-global-nav { grid-template-columns: auto 1fr; }
  .research-global-nav__truth { display: none; }
  .research-global-nav nav { justify-content: flex-end; overflow-x: auto; }
  .portal-reading-layout { display: block; }
  .portal-toc { position: static; margin: 24px 0; }
  .portal-pack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .block-inventory-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .block-inventory-metrics article:nth-child(3) { border-right: 0; }
  .block-inventory-metrics article:nth-child(n + 4) { border-top: 1px solid var(--portal-line); }
  .block-hub-evidence,
  .block-hub-summary-grid { grid-template-columns: 1fr; }
  .block-hub-evidence > div { position: static; }
  .block-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .block-candidate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-part-relation { grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr); }
  .system-part-relation > div { grid-column: 1 / -1; }
  .block-recipe-grid > article { grid-template-columns: 70px minmax(170px, .7fr) minmax(0, 1.3fr); }
  .block-recipe-grid > article > :is(.block-link-cloud, details) { grid-column: 2 / -1; }
}
@media (max-width: 760px) {
  body[data-research-surface].actionist-nav-ready,
  body[data-research-surface].actionist-nav-ready.actionist-nav-collapsed { padding-left: 0; }
}
@media (max-width: 680px) {
  .research-global-nav { display: block; min-height: auto; padding: 12px 16px 0 60px; }
  .research-global-nav__brand { margin-bottom: 9px; }
  .research-global-nav nav { justify-content: flex-start; margin-inline: -4px; }
  .research-global-nav nav a { min-height: 44px; padding-inline: 9px; white-space: nowrap; }
  body[data-research-surface] .node-header,
  .portal-context,
  body[data-research-surface] .industry-index,
  body[data-research-surface] .industry-detail,
  body[data-research-surface] .docs-index,
  body[data-research-surface] .doc-page,
  body[data-research-surface] .registry-page,
  body[data-research-surface] .artifact-view,
  body[data-research-surface] .node-content,
  .portal-pack-index,
  .portal-pack-page { width: calc(100% - 32px); }
  .portal-context { grid-template-columns: 1fr; gap: 7px; }
  .portal-tools { align-items: stretch; flex-direction: column; }
  .portal-pack-hero { grid-template-columns: 1fr; gap: 24px; }
  .portal-pack-grid { grid-template-columns: 1fr; }
  .portal-corpus-search { grid-template-columns: 1fr; }
  .portal-corpus-search > label,
  .portal-filter-row,
  .portal-select-row { grid-column: 1; }
  .portal-select-row { align-items: stretch; flex-direction: column; }
  .portal-select-row select { width: 100%; }
  .block-inventory-metrics { grid-template-columns: 1fr; }
  .block-inventory-metrics article,
  .block-inventory-metrics article:nth-child(3) { min-height: 0; border-top: 1px solid var(--portal-line); border-right: 0; }
  .block-inventory-metrics article:first-child { border-top: 0; }
  .block-layer-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portal-related--grid,
  .block-record-grid,
  .block-candidate-grid,
  .block-detail__hero,
  .block-detail__columns,
  .system-parts-relations > div,
  body[data-research-surface="part"] .node-hero { grid-template-columns: 1fr; }
  .system-part-relation,
  .block-recipe-grid > article { grid-template-columns: 1fr; gap: 10px; }
  .system-part-relation > div,
  .block-recipe-grid > article > :is(.block-link-cloud, details) { grid-column: auto; }
  .block-family-list { columns: 1; }
  .block-detail__metrics { grid-template-columns: repeat(2, 1fr); }
  .block-detail__metrics div:nth-child(2) { border-right: 0; }
  .block-hub-page,
  .block-detail { width: calc(100% - 32px); }
  .portal-related { align-items: flex-start; flex-direction: column; }
  .portal-related a { max-width: 100%; }
  body[data-research-surface] .industry-table-wrap,
  body[data-research-surface] .doc-table-wrap,
  .portal-pack-article table { max-width: 100%; overflow-x: auto; }
}
