:root {
  color-scheme: dark;
  --bg: #080a09;
  --panel: #0d100e;
  --line: #252a26;
  --muted: #929c95;
  --bright: #f1f4ee;
  --green: #b2d8b3;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--bright);
  font-size: 12px;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select {
  font: inherit;
}
button {
  color: inherit;
  background: none;
  border: 1px solid var(--line);
  cursor: pointer;
}
button:hover,
a:hover {
  color: white;
  border-color: #798b7c;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}
button:disabled {
  opacity: 0.4;
}
input {
  width: 100%;
  background: #111512;
  border: 1px solid #303832;
  color: #f5f7f3;
  border-radius: 0;
  padding: 12px 10px;
  outline: none;
}
input::placeholder {
  color: #8a958d;
}
.topbar {
  height: 76px;
  padding: 0 28px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  gap: 44px;
}
.brand {
  font-size: 24px;
  letter-spacing: 5px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 21px;
}
.brand span {
  font-size: 9px;
  letter-spacing: 1.5px;
  font-weight: 400;
  color: var(--muted);
  max-width: 100px;
  line-height: 1.8;
}
.edition {
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 1.6px;
}
.topbar nav {
  margin-left: auto;
  display: flex;
  gap: 26px;
  font-size: 10px;
  letter-spacing: 1px;
}
.workspace {
  display: grid;

  height: calc(100dvh - var(--header-height,64px));
}
.navigation {
  border-right: 1px solid var(--line);
  padding: 27px 20px;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.overline,
.section-label,
.search-label {
  font-size: 9px;
  letter-spacing: 1.8px;
  color: var(--muted);
  line-height: 1.7;
}
#window-date {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.7;
}
.search-label {
  display: block;
  margin: 30px 0 9px;
}
.section-label {
  margin: 29px 0 10px;
}
.lab-button {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  border: none;
  border-bottom: 1px solid #1d231e;
  padding: 13px 2px;
  gap: 11px;
}
.lab-button .ordinal {
  font-size: 9px;
  color: #6f7b72;
  width: 18px;
}
.lab-button.selected {
  color: var(--green);
}
.lab-button.selected .ordinal {
  color: var(--green);
}
.lab-button .arrow {
  margin-left: auto;
  color: #727e75;
}
.navigation-bottom {
  margin-top: auto;
  padding-top: 30px;
  font-size: 9px;
  line-height: 1.8;
  color: var(--muted);
}
.navigation-bottom p {
  font-size: 10px;
}
.status-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--green);
  margin-right: 7px;
  box-shadow: 0 0 7px #9dc19f88;
}
.node-directory {
  margin-top: 27px;
  color: var(--muted);
  font-size: 10px;
}
.node-directory summary {
  cursor: pointer;
  line-height: 1.7;
}
.node-directory input {
  margin: 12px 0;
}
.list-button {
  display: block;
  width: 100%;
  padding: 10px 8px;
  text-align: left;
  border: none;
  border-bottom: 1px solid var(--line);
  line-height: 1.5;
}
.list-button small {
  display: block;
  color: var(--muted);
  font-size: 9px;
}
.node-directory #node-more {
  margin-top: 12px;
  padding: 9px;
}
.field-stage {
  position: relative;
  overflow: hidden;
  min-width: 0;
}
.stage-heading {
  position: absolute;
  top: 38px;
  left: 35px;
  right: 25px;
  pointer-events: none;
  z-index: 2;
}
.stage-heading h1 {
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(25px, 2.7vw, 42px);
  font-weight: 450;
  letter-spacing: -1.3px;
  margin: 11px 0;
}
.stage-heading p {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.8;
  max-width: 420px;
}
canvas {
  width: 100%;
  height: 100%;
  display: block;
  touch-action: pan-y;
}
#hover-label {
  position: absolute;
  z-index: 3;
  background: #0b100ef2;
  border: 1px solid #718474;
  padding: 8px 10px;
  pointer-events: none;
  max-width: 240px;
  font-size: 10px;
  line-height: 1.5;
}
.stage-footer {
  position: absolute;
  bottom: 24px;
  left: 28px;
  right: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  z-index: 2;
  font-size: 8px;
  letter-spacing: 0.7px;
  color: var(--muted);
}
.view-controls {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}
.view-controls button {
  padding: 8px;
  font-size: 9px;
  min-width: 28px;
}
#status {
  position: absolute;
  bottom: 68px;
  left: 30px;
  right: 30px;
  font-size: 10px;
  line-height: 1.6;
  color: var(--green);
}
.detail-panel {
  border-left: 1px solid var(--line);
  background: var(--panel);
  overflow: auto;
}
.panel-top {
  height: 57px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  border-bottom: 1px solid var(--line);
  font-size: 9px;
  letter-spacing: 1.2px;
  color: var(--muted);
}
.panel-top button {
  font-size: 21px;
  border: none;
  width: 27px;
}
#panel-content {
  padding: 26px 24px 45px;
}
.intro-panel {
  padding-top: 0;
}
.intro-marker {
  font-size: 38px;
  font-weight: 200;
  color: #a7b6a9;
}
.intro-panel h2,
.object-title {
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-weight: 450;
  line-height: 1.12;
  font-size: 32px;
  letter-spacing: -0.9px;
  margin: 25px 0 20px;
  overflow-wrap: anywhere;
}
.intro-panel p,
.object-summary {
  font-size: 12px;
  line-height: 1.9;
  color: #bcc6be;
}
.intro-rule {
  height: 1px;
  background: var(--line);
  margin: 35px 0;
}
.intro-panel small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.9;
  display: block;
  margin-top: 40px;
}
.object-kind {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: var(--green);
}
.object-title {
  margin-top: 14px;
}
.object-actions {
  display: flex;
  gap: 8px;
  margin: 23px 0;
}
.object-actions a {
  border: 1px solid #465248;
  padding: 10px;
  font-size: 9px;
  letter-spacing: 0.5px;
}
.fact-grid {
  margin: 26px 0;
}
.fact-row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 10px;
  line-height: 1.7;
}
.fact-row dt {
  color: var(--muted);
}
.fact-row dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.detail-section {
  border-top: 1px solid #354036;
  padding-top: 20px;
  margin-top: 25px;
}
.detail-section h3 {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 400;
  margin: 0 0 14px;
  display: flex;
  justify-content: space-between;
}
.detail-section h3 span {
  color: var(--muted);
}
.connection-card {
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
}
.connection-card > button {
  border: none;
  padding: 0;
  text-align: left;
  width: 100%;
  font-size: 13px;
  line-height: 1.45;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.connection-card > button span {
  color: var(--muted);
}
.connection-card p {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.8;
  margin: 7px 0;
}
.connection-card > a {
  display: inline-block;
  color: var(--green);
  font-size: 9px;
  margin: 3px 0 9px;
  overflow-wrap: anywhere;
}
.evidence-links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 9px;
  color: #b1c6b5;
  line-height: 1.6;
}
.more-connections {
  margin-top: 12px;
  padding: 10px;
  width: 100%;
  font-size: 9px;
}
.evidence-section {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.error {
  color: #efb8a3;
  line-height: 1.8;
}
.sr-only {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.empty-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}
#search-results {
  border: 1px solid #344336;
  max-height: 280px;
  overflow: auto;
  margin-top: 6px;
}
#search-results button {
  font-size: 11px;
}
[hidden] {
  display: none !important;
}
@media (min-width: 1700px) {
  .detail-panel #panel-content {
    padding: 34px;
  }
  .navigation {
    padding: 30px;
  }
}
@media (max-width: 1100px) {
  .navigation {
    padding: 22px 14px;
  }
  .stage-heading {
    left: 24px;
  }
  .edition {
    display: none;
  }
  .stage-footer {
    left: 15px;
    right: 15px;
    align-items: flex-start;
    flex-direction: column;
  }
  #panel-content {
    padding: 22px 18px;
  }
  .object-title {
    font-size: 28px;
  }
}
@media (max-width: 800px) {
  .topbar {
    height: 64px;
    padding: 0 17px;
    gap: 10px;
  }
  .brand {
    font-size: 21px;
    gap: 13px;
  }
  .brand span {
    font-size: 8px;
  }
  .topbar nav {
    gap: 12px;
    font-size: 8px;
  }
  .workspace {
    height: auto;
    display: grid;


  }
  .navigation {
    border-right: none;
    border-bottom: 1px solid var(--line);
    padding: 16px;
    display: block;
  }
  .navigation > .overline,
  .navigation > #window-date,
  .search-label,
  .section-label,
  .navigation-bottom,
  .node-directory {
    display: none;
  }
  .navigation > input {
    margin-bottom: 12px;
  }
  .navigation #lab-list {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 3px;
  }
  .lab-button {
    white-space: nowrap;
    border: 1px solid var(--line);
    padding: 10px;
    width: auto;
    flex-shrink: 0;
    font-size: 11px;
    gap: 6px;
  }
  .lab-button .arrow {
    display: none;
  }
  .field-stage {
    min-height: 430px;
  }
  .stage-heading {
    top: 24px;
    left: 22px;
  }
  .stage-heading h1 {
    font-size: 30px;
  }
  .stage-heading p {
    font-size: 9px;
    max-width: 300px;
  }
  .stage-footer {
    flex-direction: row;
    align-items: center;
    bottom: 17px;
    font-size: 7px;
  }
  .view-controls button {
    font-size: 8px;
    padding: 7px;
  }
  .detail-panel {
    border-left: none;
    border-top: 1px solid var(--line);
    overflow: visible;
    min-height: 280px;
  }
  .intro-panel {
    padding-top: 10px;
  }
  .intro-panel small {
    margin-top: 20px;
  }
  .intro-rule {
    margin: 22px 0;
  }
  .panel-top {
    height: 48px;
  }
  .object-title {
    font-size: 32px;
  }
  .fact-row {
    grid-template-columns: 130px 1fr;
  }
  #status {
    bottom: 58px;
  }
  .topbar nav a:first-child {
    display: none;
  }
}
.coverage-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 12px;
  margin-bottom: 18px;
}
.coverage-grid strong {
  display: block;
  font-size: 20px;
  font-weight: 400;
  color: var(--bright);
  margin-bottom: 5px;
}
.coverage-grid span {
  display: block;
  font-size: 9px;
  color: var(--muted);
  line-height: 1.6;
}
.coverage-panel .empty-note {
  font-size: 9px;
}
.connection-contexts { margin:12px 0; color:var(--muted,#a8b1a9); font-size:11px; line-height:1.6; }
.connection-contexts summary { cursor:pointer; color:var(--text,#eef2ed); }
.relationship-entry { padding:10px 0; border-bottom:1px solid #252d27; }
.relationship-entry p { margin:4px 0; overflow-wrap:anywhere; }

/* Discovery stays within the live record, including dense author rosters. */
.group-controls { margin: 12px 0; min-width: 0; }
.group-filter, .model-status-filter { display: block; width: 100%; min-width: 0; box-sizing: border-box; background: #101510; color: var(--text, #edf1eb); border: 1px solid #354037; padding: 10px; margin-bottom: 8px; font: inherit; font-size: 11px; border-radius: 0; }
.group-filter:focus-visible, .model-status-filter:focus-visible, .more-search-results:focus-visible { outline: 2px solid var(--bright, #fff); outline-offset: 2px; }
.group-match-count, .search-count, .catalog-status { font-size: 10px; color: var(--muted, #a8b1a9); line-height: 1.6; overflow-wrap: anywhere; }
.more-search-results { width: 100%; padding: 12px 8px; margin-top: 8px; background: transparent; color: var(--text, #edf1eb); border: 1px solid #354037; font: inherit; font-size: 10px; cursor: pointer; }

.enter-graph {background:var(--green,#c3dec0);color:#090c0a;border:0;padding:10px 14px;font:inherit;cursor:pointer}
.record-details summary {cursor:pointer;padding:12px 0;font-size:11px}

.object-facets {display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 24px}
.object-facets button {background:transparent;border:1px solid #303b33;color:inherit;padding:6px 8px;font:inherit;font-size:10px;cursor:pointer}
.detail-section {scroll-margin-top:60px}
#graph-lenses {display:flex;flex-wrap:wrap;gap:5px;pointer-events:auto;margin-top:15px}
#graph-lenses button {font:inherit;font-size:10px;letter-spacing:.02em;color:#aebbb0;background:#101611;border:1px solid #354238;padding:8px 10px;cursor:pointer}
#graph-lenses button[aria-pressed="true"] {background:#d4e8cf;color:#102014;border-color:#d4e8cf}
#lens-description {max-width:650px;font-size:10px;margin:7px 0}
#category-legend {position:absolute;left:30px;right:30px;bottom:105px;display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center;font-size:9px;color:#b4c0b7;pointer-events:auto;max-height:90px;overflow:auto;background:linear-gradient(90deg,#080c09df,#080c0970)}
#category-legend>span {display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
#category-legend i {width:7px;height:7px;border-radius:50%;display:inline-block}
.curation-disclosure {font-size:9px;max-width:100%;color:#9caaa0}
.curation-disclosure summary {cursor:pointer}
.curation-disclosure p {line-height:1.6;max-width:620px}
.person-context,.source-context,.program-context {border:1px solid #303c33;background:#101710;padding:16px;margin:16px 0;line-height:1.65}
.person-context h3,.source-context h3,.program-context h3 {font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#c8d7c8}
.role-summary {margin:12px 0;padding-left:9px;border-left:2px solid #899b80}
.role-summary.source_listed {border-color:#c4a86d}
.role-summary.historical {border-color:#8b9293;opacity:.85}
.person-context button,.source-context button,.program-context button {display:block;border:0;background:none;color:#e1e9dd;font:inherit;text-align:left;padding:4px 0;cursor:pointer}
.person-context a,.source-context a,.program-context a {font-size:9px;color:#aebead}
.person-context details,.program-context details {font-size:10px;margin-top:12px}
.status-label {font-size:10px;color:#c7b486;line-height:1.6}
.source-relationship {margin-top:12px}
@media(max-width:700px){
 .field-stage {min-height:560px}
 #graph-lenses {flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px}
 #graph-lenses button {flex:none;font-size:9px;padding:8px}
 #category-legend {left:20px;right:20px;bottom:65px;max-height:55px;font-size:8px;gap:5px 10px}
 #lens-description {max-width:95%;line-height:1.5}
 #status {bottom:122px;font-size:9px}
}
/* Object categories are a persistent graph control, not only section links. */
.object-facets {position:sticky;top:0;z-index:5;background:var(--panel,#0d100e);padding:12px 0;max-height:150px;overflow-y:auto;border-bottom:1px solid var(--line);gap:6px;margin-bottom:20px}
.object-facets button {text-align:left;flex:1 1 44%;min-width:0;line-height:1.5}
.object-facets button[aria-pressed=true] {background:var(--accent,#c3dec0);color:var(--bg,#080a09);border-color:var(--accent,#c3dec0)}
.detail-section {scroll-margin-top:165px}
.connection-card:has(button:hover),.connection-card:has(button:focus-visible) {background:#172019}
#hover-label {max-width:230px;padding:6px 9px;font-size:10px;line-height:1.4}
#graph-trail {display:flex;gap:10px;align-items:center;margin-bottom:12px;pointer-events:auto;font-size:10px;white-space:nowrap;overflow:auto}
#graph-trail button {border:0;padding:3px 0;background:none;color:var(--muted);font:inherit;flex:none}
#graph-trail button:last-of-type {color:var(--bright)}
#graph-trail span {color:var(--muted)}
.object-source-disclosure {margin:18px 0;font-size:10px;color:var(--muted)}
.object-source-disclosure>summary {cursor:pointer;padding:10px 0;border-bottom:1px solid var(--line)}
.connections-explorer {margin:24px 0;border-top:1px solid var(--line)}
.connections-explorer>summary {padding:16px 0;font:11px/1.6 var(--font-mono);color:var(--bright);cursor:pointer}
.connections-explorer[open] {border-bottom:1px solid var(--line);padding-bottom:18px}
.connections-explorer[open]>summary {color:var(--green)}
.connections-explorer>.object-facets {margin-top:0}

.overview-guide { margin: 22px 0; font-size: 12px; }
.overview-guide summary { cursor: pointer; }
.overview-guide .intro-panel { padding-top: 20px; }
.developments .program-work { border-top: 1px solid #303c30; padding: 18px 0; }
.developments .program-work > small { display: block; opacity: .65; margin-bottom: 8px; }
.developments .program-work > a { display: inline-block; margin: 8px 14px 0 0; }
.developments .coverage-note { opacity: .7; }

body[data-cohort="researchers"] .navigation > .section-label,
body[data-cohort="researchers"] #lab-list { display: none; }
body[data-cohort="researchers"] .node-directory { margin-top: 28px; }
body[data-cohort="researchers"] .node-directory #node-list { max-height: 45vh; overflow-y: auto; }
body[data-cohort="researchers"] .researcher-overview { padding-top: 30px; }
body[data-cohort="researchers"] .researcher-overview details { padding: 15px 0; border-block: 1px solid #303c30; }

body[data-initial-graph]:not([data-initial-graph=""]) .navigation > .section-label,
body[data-initial-graph]:not([data-initial-graph=""]) #lab-list { display: none; }
body[data-explorer-slug]:not([data-explorer-slug=""]) .navigation > .section-label,
body[data-explorer-slug]:not([data-explorer-slug=""]) #lab-list { display: none; }
body[data-explorer-slug]:not([data-explorer-slug=""]) .stage-heading {top:15px;left:26px}
body[data-explorer-slug]:not([data-explorer-slug=""]) .stage-heading h1 {font-size:27px;margin:5px 0}
body[data-explorer-slug]:not([data-explorer-slug=""]) #stage-subtitle {display:none}
body[data-explorer-slug]:not([data-explorer-slug=""]) #graph-lenses {margin-top:8px}
body[data-explorer-slug]:not([data-explorer-slug=""]) .collective-overview {padding-top:12px}
body[data-explorer-slug]:not([data-explorer-slug=""]) .collective-overview small {margin-top:0}
body[data-explorer-slug]:not([data-explorer-slug=""]) .navigation {padding-inline:16px}
body[data-explorer-slug]:not([data-explorer-slug=""]) .connection-card {padding:15px 0}
.connection-excerpt {border-left:2px solid var(--line);padding:5px 0 5px 10px;margin:10px 0;color:var(--muted);font-size:10px;line-height:1.55}
.connection-excerpt small {display:block;color:var(--green);font-size:9px;letter-spacing:.1em}
.connection-excerpt p {margin:5px 0;color:var(--bright);line-height:1.55}
.shared-work-people {margin:20px 0 25px;border-top:1px solid var(--line);padding-top:17px}
.shared-work-people h3 {font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:400}
.shared-person {border-bottom:1px solid var(--line);padding:13px 0}
.shared-person>button {border:0;background:none;color:var(--bright);padding:0;text-align:left;font:13px/1.4 ui-sans-serif,system-ui;cursor:pointer}
.shared-person>button:hover {color:var(--green)}
.shared-person p {font-size:10px;line-height:1.5;color:var(--muted);margin:5px 0}
.shared-person a {display:inline-block;font-size:9px;color:var(--green);margin:2px 0 6px}
.last-collected-evidence {margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.last-collected-evidence h3 {font-size:10px;letter-spacing:.09em;color:var(--green);font-weight:400}
body[data-explorer-slug]:not([data-explorer-slug=""]) .connections-explorer {margin-top:16px}
body[data-explorer-slug]:not([data-explorer-slug=""]) .object-actions {margin:15px 0}
.collective-overview h2 {font:400 28px/1.16 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.03em}
.explorer-mission {font:400 15px/1.5 ui-sans-serif,system-ui,sans-serif;color:var(--bright);margin:3px 0 16px}
.collective-overview>.coverage-note {font-size:11px;color:var(--bright);margin:11px 0 4px}
.explorer-about {border-top:1px solid var(--line);margin-top:21px;padding-top:12px;font-size:11px;color:var(--muted)}
.explorer-about summary {cursor:pointer;color:var(--green)}
.explorer-about p {line-height:1.6}
.explorer-boundary strong,.explorer-questions h3,.explorer-threads h3 {font-size:9px;letter-spacing:.12em;color:var(--green)}
.explorer-questions,.explorer-threads {margin-top:27px;border-top:1px solid var(--line);padding-top:18px}
.explorer-questions p {padding:10px 0;border-bottom:1px solid var(--line)}
.explorer-thread {padding:12px 0;border-bottom:1px solid var(--line)}
.explorer-thread a {display:block;font-size:12px;line-height:1.5;color:var(--bright)}
.explorer-thread a:hover {color:var(--green)}
.explorer-thread small {display:block;margin-top:5px;font-size:9px;line-height:1.5;color:var(--muted)}
.explorer-highlights {margin-top:25px;border-top:1px solid var(--line);padding-top:18px}
.explorer-highlights h3 {font-size:9px;letter-spacing:.12em;color:var(--green)}
.explorer-highlight {padding:13px 0;border-bottom:1px solid var(--line)}
.explorer-highlight.featured-finding {border-left:2px solid var(--green);padding-left:12px}
.explorer-highlight small {display:block;color:var(--muted);font-size:9px;line-height:1.5}
.explorer-highlight button {display:block;width:100%;text-align:left;background:none;border:0;color:var(--bright);font:13px/1.5 ui-sans-serif,system-ui;padding:8px 0;cursor:pointer}
.explorer-highlight button:hover {color:var(--green)}
.explorer-highlight button:disabled {opacity:.6;cursor:default}
.explorer-highlight a {font-size:10px;color:var(--green)}
.explorer-patterns {margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.explorer-patterns h3 {font-size:9px;letter-spacing:.12em;color:var(--green)}
.explorer-pattern {padding:12px 0;border-bottom:1px solid var(--line)}
.explorer-pattern button {background:none;border:0;color:var(--bright);text-align:left;padding:0;font:13px/1.5 ui-sans-serif,system-ui;cursor:pointer}
.explorer-pattern button:hover {color:var(--green)}
.explorer-pattern p {margin:7px 0 4px;font-size:11px}
.explorer-pattern small {color:var(--muted);font-size:9px;line-height:1.5}
.explorer-method {font-size:10px;color:var(--muted);line-height:1.6}
.explorer-evidence-grade {border-top:1px solid var(--line);padding:13px 0 4px}
.explorer-evidence-grade strong {display:block;font:400 23px/1.2 ui-sans-serif,system-ui;color:var(--bright)}
.explorer-evidence-grade span {display:block;font-size:10px;color:var(--muted);line-height:1.5;margin:5px 0}
.explorer-evidence-grade small {display:block;font-size:9px;color:var(--muted);line-height:1.5}
.source-passage {margin:10px 0;border-top:1px solid var(--line);font-size:10px}
.source-passage summary {padding:9px 0;cursor:pointer;color:var(--green)}
.source-passage-body {padding:0 0 8px;overflow-wrap:anywhere}
.source-passage-body small {display:block;color:var(--muted);margin-top:8px}
.source-passage-body p {color:var(--bright);line-height:1.6}
.evidence-trail {margin:9px 0 10px;border-top:1px solid var(--line);font-size:10px}
.evidence-trail > summary {padding:9px 0;color:var(--green);cursor:pointer;letter-spacing:.02em}
.evidence-trail-body {padding:2px 0 6px 10px;border-left:1px solid var(--line)}
@media(max-width:1100px){}
@media(max-width:800px){}
.evidence-trail-body > small {display:block;color:var(--muted);line-height:1.5;margin-top:10px}
.evidence-trail .source-passage {margin:0}
.inclusion-reason{font-size:10px;line-height:1.6;color:var(--green)}
.explorer-memberships a{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--green)}
body[data-focus-kind="Person"] .stage-heading { top: 18px; left: 24px; }

/* An entity is the unit of exploration; controls and categories stay secondary. */
.field-entry h2 {font-size:25px;line-height:1.15;margin:13px 0 18px}
.field-entry h3 {font-size:10px;letter-spacing:1.3px;color:var(--muted);margin:32px 0 8px}
.field-entry .entry-action {display:block;width:100%;padding:13px 16px;text-align:left;border-color:var(--green);color:var(--green);margin:20px 0}
.entry-person {display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--line);padding:12px 0;text-align:left}
.entry-person span {font-size:10px;color:var(--muted);text-align:right}
.entry-caption {font-size:10px!important;color:var(--muted)}
.entry-labs {border-top:1px solid var(--line);margin-top:24px;padding-top:15px}
.entry-labs summary {cursor:pointer;font-size:11px;color:var(--bright)}
.relationship-group {border-top:1px solid var(--line);padding:0 0 8px}
.relationship-group>summary {cursor:pointer;padding:14px 0;color:var(--bright);font-size:11px;list-style:none}
.relationship-group>summary::after {content:'+';float:right;color:var(--muted)}
.relationship-group[open]>summary::after {content:'−'}
.relationship-group>summary::-webkit-details-marker {display:none}
body[data-focus-kind="Person"] .navigation .section-label,
body[data-focus-kind="Person"] #lab-list,
body[data-focus-kind="Person"] .node-directory,
body[data-focus-kind="Person"] #graph-lenses,
body[data-focus-kind="Person"] #lens-description,
body[data-focus-kind="Person"] #category-legend {display:none}
.person-research-trail {border-top:1px solid var(--line);margin-top:24px;padding-top:15px}
.person-research-trail>summary {cursor:pointer;color:var(--bright);font-size:11px;line-height:1.6}
.person-research-trail[open]>.person-context {margin-top:20px}
body[data-focus-kind="Person"] .stage-heading .overline,
body[data-focus-kind="Person"] #stage-subtitle,
body[data-focus-kind="Person"] #lens-description { display: none; }
body[data-focus-kind="Person"] .stage-heading h1 { font-size: 27px; margin: 7px 0; }
body[data-focus-kind="Person"] #graph-lenses { margin-top: 8px; }
@media (min-width: 801px) and (max-width: 1100px) {
}
@media (min-width: 1101px) {
}
@media (min-width: 801px) {
  body[data-focus-kind]:not([data-focus-kind=""]) .navigation { display: none; }
}
#graph-expansion:not(:empty) { display:flex; align-items:center; gap:10px; margin-top:9px; pointer-events:auto; font:10px/1.5 ui-monospace,monospace; color:var(--muted); }
#graph-expansion button { border:1px solid var(--line); background:#152017; color:var(--bright); padding:6px 9px; font:inherit; cursor:pointer; }
#graph-expansion button:hover,#graph-expansion button:focus-visible { border-color:var(--bright); }
.connection-card > button.show-graph-author { width:auto; margin:7px 0 5px; padding:5px 8px; border:1px solid var(--line); color:var(--bright); font:10px/1.4 ui-monospace,monospace; }

/* One legible reading scale across the graph and its evidence panel. */
.stage-heading h1{font:600 clamp(29px,2.8vw,39px)/1.13 var(--font-display);letter-spacing:-.045em}
body[data-focus-kind="Person"] .stage-heading h1{font-size:34px}
.stage-heading p{font-size:11px;line-height:1.55}
#panel-content{padding:27px 28px 50px}
.object-title,.intro-panel h2{font:580 30px/1.15 var(--font-display);letter-spacing:-.04em}
.object-summary,.intro-panel p{font:13px/1.6 var(--font-display);color:#bdcbbf}
.connection-card{padding:15px 0}
.connection-card>button{font:550 14px/1.45 var(--font-display)}
.connection-card p,.connection-excerpt,.source-passage-body p{font-size:11px;line-height:1.6}
.connection-card>a,.evidence-links,.source-passage summary{font-size:10px}
.detail-section h3,.relationship-group>summary{font-size:11px}
.object-actions a{font-size:10px;padding:10px 12px}
@media(min-width:1101px){}
@media(min-width:801px){body[data-initial-graph]:not([data-initial-graph=""]) .navigation{display:none}}
body[data-explorer-slug]:not([data-explorer-slug=""]) .navigation {padding-inline:20px}
.navigation-bottom {margin-top:auto;padding:18px 0 4px;border-top:1px solid var(--line)}
.navigation-bottom summary {cursor:pointer;list-style:none;font:10px/1.5 var(--font-mono,monospace);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.navigation-bottom summary::-webkit-details-marker {display:none}
.navigation-bottom[open] summary {color:var(--green)}
.navigation-bottom p,#coverage {font-size:10px;line-height:1.6;color:var(--muted)}
.explorer-highlights h3 {font:10px/1.4 var(--font-mono,monospace);letter-spacing:.1em;color:var(--green)}
.explorer-highlight.featured-finding {border-left:2px solid var(--green);padding-left:14px;background:linear-gradient(90deg,rgba(178,216,179,.04),transparent)}
.explorer-highlight small {font-size:10px;color:var(--green)}
.explorer-highlight button {font:15px/1.46 var(--font-display,ui-sans-serif,system-ui);letter-spacing:-.012em;padding:9px 0 4px}
body[data-explorer-slug]:not([data-explorer-slug=""]) .navigation-bottom {display:none}
.explorer-assessment {margin:8px 0 11px;padding-left:12px;border-left:1px solid var(--line);font:12px/1.5 var(--font-display,ui-sans-serif,system-ui);color:var(--muted)}
.explorer-assessment strong {display:block;margin-bottom:5px;color:var(--green);font:9px/1.4 var(--font-mono,monospace);letter-spacing:.1em}
@media(max-width:1000px){body[data-explorer-slug]:not([data-explorer-slug=""]) .navigation{padding:14px 20px}.navigation-bottom{display:none}}

/* People read as profiles. Evidence stays beside the statement it supports. */
.person-profile-header{padding-bottom:24px;border-bottom:1px solid var(--line)}
.person-profile-header .object-title{font-size:36px;margin:0 0 8px}
.profile-handles{display:flex;gap:14px;font:13px var(--font-display);color:var(--green)}
.profile-biography{font:15px/1.6 var(--font-display);margin:16px 0 0}
.biography-basis{display:block;margin:8px 0;color:var(--muted);font:11px/1.5 var(--font-display)}
.biography-limits{font:12px/1.5 var(--font-display);color:var(--muted);margin-top:8px}
.profile-section{padding:24px 0;border-bottom:1px solid var(--line)}
.profile-section h3{font:600 16px/1.4 var(--font-display);letter-spacing:-.015em;margin:0 0 10px}
.profile-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.profile-section-heading>span{font:11px var(--font-mono);color:var(--muted)}
.profile-scope{font:12px/1.5 var(--font-display);color:var(--muted);margin:0 0 10px}
.profile-row{position:relative;padding:16px 0;border-top:1px solid #222b25}
.profile-row:first-child{border-top:0}
.profile-row>button,.profile-role>button{display:block;text-align:left;border:0;background:none;color:var(--bright);font:550 16px/1.4 var(--font-display);padding:5px 0;letter-spacing:-.01em}
.profile-row>button:hover,.profile-role>button:hover{text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.profile-row>small,.profile-role>small{display:block;font:10px/1.5 var(--font-mono);color:var(--muted)}
.profile-row>p,.profile-role>p{font:13px/1.55 var(--font-display);color:#c1cbc2;margin:5px 0}
.profile-row .profile-credit{font-size:11px;color:var(--muted)}
.profile-row .publisher-description{font-size:13px;margin:10px 0}
.publisher-description>small{display:block;color:var(--muted);font:9px var(--font-mono);margin-bottom:5px}
.profile-row .source-passage{margin-top:10px}
.profile-row .source-passage>summary,.profile-role .source-passage>summary{font:11px var(--font-display);color:var(--green)}
.profile-more,.profile-enter{padding:10px 12px;font:12px var(--font-display);border:1px solid var(--line);margin-top:10px}
.profile-enter{width:100%;text-align:left}
.profile-person-row>button{padding-right:90px}
.profile-work-count{position:absolute;right:0;top:22px;font:10px var(--font-mono);color:var(--muted)}
.profile-person-row>p{font-size:12px;color:var(--muted);margin:3px 0 6px}
.profile-section>input{font:13px var(--font-display);margin:8px 0}
.profile-role{padding:9px 0 14px}
.profile-extra>summary{font:13px var(--font-display);cursor:pointer;color:var(--muted)}
.profile-extra>p,.profile-extra>button{font:12px/1.6 var(--font-display)}
.profile-extra>button{display:block;border:0;text-align:left;padding:9px 0}
body[data-focus-kind]:not([data-focus-kind=""]) #lens-description{display:none}
@media(min-width:1101px){}
@media(max-width:800px){.person-profile-header .object-title{font-size:30px}.profile-section{padding:20px 0}#panel-content{padding:24px 20px}.workspace{height:auto;min-height:calc(100dvh - var(--header-height,64px))}.field-stage{min-height:400px}.detail-panel{overflow:visible}}
.profile-jump{display:flex;gap:22px;padding:12px 0;border-bottom:1px solid var(--line)}
.profile-jump button{padding:4px 0;background:none;border:0;color:var(--green);font:12px var(--font-display)}
.profile-jump button:hover{text-decoration:underline;text-underline-offset:5px}
.publisher-description{font:13px/1.6 var(--font-display);color:#c6d2c8}
.work-description{margin:16px 0}
.person-profile-header>small{display:block;font:10px var(--font-mono);color:var(--muted);margin-bottom:10px}
@media(max-width:800px){
 body[data-focus-kind="Person"] .workspace,body[data-focus-kind="Work"] .workspace{display:grid;gap:0;height:auto}
 body[data-focus-kind="Person"] .navigation,body[data-focus-kind="Work"] .navigation{display:none}
 body[data-focus-kind="Person"] .detail-panel,body[data-focus-kind="Work"] .detail-panel,
 body[data-focus-kind="Person"] #panel-content,body[data-focus-kind="Work"] #panel-content{display:contents}
 body[data-focus-kind="Person"] .panel-top,body[data-focus-kind="Work"] .panel-top{display:none}
 body[data-focus-kind="Person"] .person-profile-header,body[data-focus-kind="Work"] .person-profile-header{grid-row:1;padding:24px 20px 14px}
 body[data-focus-kind="Person"] .profile-jump{grid-row:2;padding:12px 20px}
 body[data-focus-kind="Person"] .field-stage,body[data-focus-kind="Work"] .field-stage{grid-row:3;height:380px;min-height:380px;overflow:hidden}
 body[data-focus-kind="Person"] .stage-heading,body[data-focus-kind="Work"] .stage-heading{top:14px;left:20px;right:20px}
 body[data-focus-kind="Person"] .stage-heading h1,body[data-focus-kind="Work"] .stage-heading h1,
 body[data-focus-kind="Work"] .stage-heading>.overline,body[data-focus-kind="Work"] #stage-subtitle{display:none}
 body[data-focus-kind="Person"] .profile-section,body[data-focus-kind="Work"] .profile-section{padding:20px;margin:0}
 body[data-focus-kind="Person"] .profile-enter,body[data-focus-kind="Work"] .profile-enter{margin:12px 20px;width:calc(100% - 40px)}
}
.profile-statement blockquote{font:17px/1.5 var(--font-display);margin:12px 0 15px;padding:0 0 0 15px;border-left:2px solid var(--green);color:var(--bright)}
.profile-statement>small,.profile-statement>a{font:11px var(--font-display);color:var(--muted)}
.profile-statement>a{color:var(--green)}
.profile-statement .source-passage{margin-top:12px}
.role-other-sources{margin-top:8px;font:11px/1.6 var(--font-display);color:var(--muted)}
.role-other-sources summary{cursor:pointer}
.person-episodes{min-width:0}.person-episode{min-width:0;padding:14px 0}.person-episode h4{margin:0;font:550 15px/1.4 var(--font-display);overflow-wrap:anywhere}.person-episode .episode-role{margin:3px 0}.person-episode .connection-meta{overflow-wrap:anywhere}.episode-evidence{margin-top:9px;min-width:0}.episode-evidence>summary{cursor:pointer;color:var(--green);font:11px/1.5 var(--font-display);overflow-wrap:anywhere}.episode-evidence pre{margin:10px 0;padding:10px;border-left:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.55 var(--font-mono);color:#c1cbc2}.episode-evidence-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.episode-evidence-actions a{font:11px var(--font-display);color:var(--green)}
@media(max-width:800px){.person-episode{padding:12px 0}.episode-evidence pre{max-width:100%;overflow-x:auto}}

/* One concise inspector for entities, topics, events and attributed claims. */
.entity-relations>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font:600 16px/1.4 var(--font-display);color:var(--bright)}
.entity-relations>summary::-webkit-details-marker{display:none}
.entity-relations>summary:after{content:'+';font:18px var(--font-display);color:var(--muted)}
.entity-relations[open]>summary:after{content:'−'}
.entity-relations>summary small{margin-left:auto;color:var(--muted);font:11px var(--font-mono)}
.entity-relations[open]>summary{margin-bottom:14px}
.entity-relations>input{width:100%;box-sizing:border-box}
.relationship-reading{padding:2px 0 8px}
.relationship-reading>p{font:13px/1.55 var(--font-display);color:#c1cbc2;margin:5px 0}
.relationship-reading>small{display:block;font:10px/1.6 var(--font-mono);color:var(--muted)}
.relationship-reading>.relationship-proof-status{margin:6px 0 0;color:var(--muted)}
.relationship-reading>.relationship-proof-status[data-status="supported"]{color:var(--green)}
.relationship-reading>.relationship-proof-status[data-status="unresolved"]{color:var(--amber,#d6ad65)}
.relationship-reading>a{display:inline-block;margin-top:10px;font:11px var(--font-display);color:var(--green)}
.relationship-reading>.source-passage{display:inline-block;vertical-align:top;margin:10px 0 0 16px}
.relationship-reading>.source-passage[open]{display:block;margin-left:0}
.relationship-reading>.source-passage>summary{font:11px var(--font-display);cursor:pointer}
.relationship-explanation{font:12px/1.6 var(--font-display);color:var(--muted)}
.relationship-other{margin-top:8px}
.relationship-other .relationship-reading{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.funding-values{display:grid;grid-template-columns:1fr auto;gap:5px 14px;margin:12px 0;font:12px/1.5 var(--font-display)}
.funding-values dt{color:var(--muted)}
.funding-values dd{margin:0;color:var(--bright)}
.profile-jump{overflow-x:auto;white-space:nowrap;gap:18px;scrollbar-width:thin}
.profile-jump button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .workspace{display:grid;height:auto;gap:0}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .navigation{display:none}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .detail-panel,
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) #panel-content{display:contents}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .panel-top{display:none}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .person-profile-header{grid-row:1;padding:24px 20px 14px}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .profile-jump{grid-row:2;padding:12px 20px}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .field-stage{grid-row:3;height:380px;min-height:380px;overflow:hidden}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .stage-heading{top:14px;left:20px;right:20px}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .stage-heading h1,
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .stage-heading>.overline,
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) #stage-subtitle{display:none}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .profile-section{padding:20px;margin:0}
 body:is([data-focus-kind="Lab"],[data-focus-kind="Fund"],[data-focus-kind="Model"],[data-focus-kind="Topic"],[data-focus-kind="Event"],[data-focus-kind="Claim"]) .profile-enter{margin:12px 20px;width:calc(100% - 40px)}
}
body[data-focus-kind]:not([data-focus-kind=""]) .stage-heading>.overline,
body[data-focus-kind]:not([data-focus-kind=""]) #stage-subtitle{display:none}
.object-graph-key{font:10px/1.6 var(--font-display);max-width:340px}
.object-graph-key>summary{cursor:pointer;color:var(--muted)}
.object-graph-key[open]{padding:12px;background:var(--panel);border:1px solid var(--line)}
.object-graph-key>span{display:inline-flex;gap:5px;align-items:center;margin:6px 10px 0 0}
body[data-focus-kind]:not([data-focus-kind=""]) #category-legend{max-height:200px;overflow:auto;background:none;z-index:3}
@media(max-width:800px){body[data-focus-kind]:not([data-focus-kind=""]) #category-legend{bottom:104px}body[data-focus-kind]:not([data-focus-kind=""]) #status{bottom:65px;background:var(--panel);font:10px/1.5 var(--font-display)}}

.person-profile-header>a{display:inline-block;margin-top:12px;font:12px var(--font-display);color:var(--green)}
.person-profile-header .profile-biography+.profile-scope{margin-top:14px}
.claim-profile-header .object-title{font-size:28px;line-height:1.25}

/* Reading first: section headings carry navigation; evidence opens when asked for. */
.graph-help {pointer-events:auto;width:fit-content;color:var(--muted);font:12px/1.5 var(--font-display)}
.graph-help summary {cursor:pointer;padding:5px 0}
.graph-help[open] {max-width:350px;padding:0 12px 8px;background:var(--bg);border:1px solid var(--line)}
.graph-help p {font:13px/1.5 var(--font-display)}
.graph-projector {position:relative;font:13px/1.5 var(--font-display);pointer-events:auto}
.graph-projector>summary {cursor:pointer;color:var(--bright);padding:5px 0}
#graph-projector-options {position:absolute;top:100%;right:0;z-index:12;width:min(330px,calc(100vw - 36px));padding:15px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 45px #0009}
.projector-families,.projector-depth {display:flex;flex-wrap:wrap;gap:6px}
.projector-label {display:block;margin:12px 0 8px;color:var(--muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}
.projector-depth {border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
#graph-projector-options button {border:1px solid var(--line);padding:7px 9px;font:12px var(--font-display);background:transparent}
#graph-projector-options button[aria-pressed="true"] {color:var(--accent);border-color:var(--accent)}
#graph-projector-options button:disabled {opacity:.4;cursor:default}
.projector-note {margin:12px 0 0;color:var(--muted);font:11px/1.5 var(--font-display)}
body[data-focus-kind="Person"] .graph-help #stage-subtitle {display:block}
#graph-lenses {gap:16px}
#graph-lenses button {background:none;border:0;border-bottom:1px solid transparent;padding:6px 0;font:13px var(--font-display);color:var(--muted)}
#graph-lenses button[aria-pressed="true"] {background:none;border-bottom-color:var(--accent);color:var(--accent)}
#graph-lenses button:hover {color:var(--bright)}
.graph-mode-controls {display:flex;align-items:center;justify-content:space-between;gap:12px 24px;pointer-events:auto}
#graph-node-types {display:flex;align-items:center;gap:12px;flex:none;margin-top:15px}
#graph-node-types[hidden] {display:none}
#graph-node-types button {border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);padding:6px 0;font:13px var(--font-display);cursor:pointer}
#graph-node-types button[aria-pressed="true"] {color:var(--accent);border-bottom-color:var(--accent)}
#graph-node-types button:hover {color:var(--bright)}
#category-legend {background:none;max-height:180px;font:11px/1.6 var(--font-display)}
.object-graph-key {background:var(--bg);padding:4px 0}
.object-graph-key[open] {padding:10px 14px;border:1px solid var(--line)}
.object-graph-key>summary {cursor:pointer;color:var(--muted)}
.object-graph-key>span {display:inline-flex;gap:6px;align-items:center;margin:8px 14px 0 0}
.curation-disclosure {font:12px/1.6 var(--font-display);margin-top:10px}
.navigation input,.profile-section input {font:14px var(--font-display);background:transparent}
.navigation .section-label {font:13px var(--font-display);letter-spacing:0;margin:28px 0 8px}
.lab-button {font:14px var(--font-display);border:0;background:none;padding:12px 0}
.navigation-bottom {border:0}
.view-controls {gap:4px}
.view-controls button {border:0;background:none;font:12px var(--font-display);min-width:32px;min-height:36px;padding:7px}
.view-controls button:hover {background:var(--light)}
.panel-top {border:0;background:transparent}
.person-profile-header {border:0;padding-bottom:14px}
.graph-scope-note {margin:10px 0 0;color:var(--muted);font:12px/1.5 var(--font-display)}
.person-profile-header .object-title {font-size:32px}
.person-profile-header>.source-passage {margin-top:10px}
.profile-image-source {float:right;display:block;margin:0 0 8px 14px}
.profile-image {display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--light)}
.profile-image.org {border-radius:12px;object-fit:contain;padding:5px}
#graph-node-types button:disabled {opacity:.42;cursor:default}
.profile-section {padding:22px 0;border-bottom:0;border-top:1px solid var(--line)}
.profile-section h3,.entity-relations>summary {font:550 15px/1.5 var(--font-display);letter-spacing:0}
.section-highlight {font:inherit;color:var(--bright);border:0;background:none;padding:3px 0;cursor:pointer;text-align:left}
.section-highlight::after {content:' ↗';color:var(--muted);font-size:12px}
.section-highlight[aria-pressed="true"] {color:var(--accent)}
.section-highlight[aria-pressed="true"]::after {content:' ✓';color:var(--accent)}
.profile-row {border:0;padding:12px 0}
.profile-row>button,.profile-role>button {font-size:15px}
.profile-row>small,.profile-role>small {font:11px/1.5 var(--font-display)}
.profile-row>p,.profile-role>p {font-size:14px}
.profile-more,.profile-enter {border:0;background:none;color:var(--accent);padding:8px 0;font:13px var(--font-display)}
.profile-more:hover,.profile-enter:hover {background:none;text-decoration:underline;text-underline-offset:4px}
.profile-projection-link{display:inline-block;margin:4px 0 10px;color:var(--accent);font:13px/1.5 var(--font-display);text-decoration:none}
.profile-projection-link:hover,.profile-projection-link:focus-visible{text-decoration:underline;text-underline-offset:4px}
.profile-scope-route{display:block;margin:4px 0 12px;padding:0;border:0;background:none;color:var(--accent);font:13px/1.5 var(--font-display);text-align:left;cursor:pointer}
.profile-scope-route:hover,.profile-scope-route:focus-visible{text-decoration:underline;text-underline-offset:4px}
.profile-person-row {display:flex;align-items:baseline;gap:14px;justify-content:space-between;padding:7px 0}
.profile-person-row>button {padding-right:0}
.profile-work-count {position:static;font:12px var(--font-display);white-space:nowrap}
.source-passage,.evidence-trail {border:0;font:13px/1.5 var(--font-display);margin:4px 0}
.source-passage>summary,.evidence-trail>summary {font:12px/1.5 var(--font-display);padding:6px 0}
.source-passage-body {padding:8px 0}
.source-passage-body>a {display:inline-block;margin-right:16px;color:var(--accent)}
.source-passage-body p {font:14px/1.6 var(--font-display)}
.source-passage-body small {font:11px/1.5 var(--font-display)}
.source-passage-body .source-support{font-weight:600;margin:12px 0 4px}
.source-passage-body .source-support.unresolved{color:var(--gold,#d6b879)}
.person-context,.source-context,.program-context {border:0;background:none;padding:0;margin:16px 0}
.field-entry h2 {margin-top:0}.field-entry .entry-person {padding:14px 0;background:none;font:14px/1.5 var(--font-display);border:0}
.field-entry .entry-caption {margin-top:22px;font:13px/1.6 var(--font-display)!important}
.explorer-highlights {border:0;margin-top:16px;padding-top:0}
.explorer-highlights h3 {font:550 15px var(--font-display);letter-spacing:0;color:var(--bright)}
.explorer-highlight.featured-finding {border-left:0;padding-left:0;background:none}
.explorer-highlight {padding:18px 0}
.explorer-highlight button {font-size:16px}
.explorer-assessment {border:0;padding:0;font:13px/1.6 var(--font-display)}
.explorer-assessment summary,.explorer-patterns>summary,.explorer-questions>summary,.explorer-threads>summary,.explorer-evidence-grade>summary {cursor:pointer;color:var(--muted);font:13px/1.5 var(--font-display)}
.explorer-patterns,.explorer-questions,.explorer-threads {border:0;margin:14px 0;padding:0}
.relationship-reading>p {font-size:14px}
.relationship-reading>.source-passage {margin-left:0}
@media(max-width:800px){
 .graph-mode-controls {flex-wrap:wrap;gap:0 14px}
 #graph-node-types {margin-top:0;gap:14px}
 #graph-node-types button {font-size:12px}
 .navigation #lab-list {gap:20px}
 .lab-button {border:0;padding:8px 0}
 #graph-lenses button {font-size:12px;padding:6px 0}
 .view-controls button {font-size:12px;min-height:40px;min-width:32px}
 .stage-footer {flex-wrap:wrap;gap:6px}
 .profile-section {padding:20px}
 .person-profile-header .object-title {font-size:30px}
 .graph-help {font-size:12px}
}

/* One graph workspace at every depth; search and the keyboard list share Find. */
body[data-surface="graph"] .workspace {grid-template-columns:minmax(0,1fr) minmax(380px,430px)}
.graph-tools {display:flex;align-items:start;gap:24px;margin-top:10px;pointer-events:auto}
.graph-find {position:relative;font:13px/1.5 var(--font-display);pointer-events:auto}
.graph-find>summary {cursor:pointer;color:var(--bright);padding:5px 0}
body[data-surface="graph"] .graph-find>.navigation {position:absolute;top:100%;left:0;width:min(320px,calc(100vw - 44px));max-height:var(--find-max-height,240px);display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);background:var(--panel);overflow:auto;z-index:10}
body[data-surface="graph"] .graph-find #lab-list {display:block}
body[data-surface="graph"] .graph-find .section-label,
body[data-surface="graph"] .graph-find .node-directory,
body[data-surface="graph"] .graph-find .navigation-bottom {display:block}
body[data-surface="graph"] .graph-find .node-directory {margin-top:20px;font:13px var(--font-display)}
body[data-surface="graph"] .graph-find .navigation-bottom {padding-top:16px;margin-top:16px}
body[data-surface="graph"] .graph-find .lab-button {width:100%;padding:10px 0}
.graph-find #search-results {position:static;flex:none;max-height:none;overflow:visible;border:0}
.graph-find>.navigation>* {flex-shrink:0}
.graph-find>.navigation:has(#field-search:not(:placeholder-shown))>:is(.section-label,#lab-list,.node-directory,.navigation-bottom) {display:none!important}
.graph-find .search-result .list-button {font-size:14px;padding:12px 0;text-align:left}
.graph-tools .graph-search{position:relative;flex:1;max-width:370px;min-width:0}
.graph-search #field-search{width:100%;margin:0;padding:8px 10px;border:1px solid var(--line);background:transparent;font:14px/1.5 var(--font-display);color:var(--bright);border-radius:4px}
.graph-search #search-results{position:absolute;top:100%;left:0;right:0;max-height:340px;overflow:auto;background:var(--panel);border:1px solid var(--line);z-index:20;padding:8px}
.graph-search .list-button{width:100%;padding:10px 8px;text-align:left}
.graph-tools .graph-find{flex:none;padding-top:4px}
.graph-tools .graph-help{flex:none;padding-top:4px}
.research-start{display:block;width:100%;padding:16px 0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;text-align:left;color:var(--bright);cursor:pointer;font:15px/1.45 var(--font-display)}
.research-start small{display:block;color:var(--muted);font:12px/1.5 var(--font-display);margin-top:5px}
.research-start:hover{color:#c3dec3}
.explorer-labs{display:flex;flex-wrap:wrap;gap:6px 15px;margin:14px 0 24px}
.explorer-labs button{padding:3px 0!important;background:transparent!important;border:0!important;font:13px/1.5 var(--font-display);color:var(--muted);cursor:pointer}
.explorer-labs button:hover{color:var(--bright)}
.connection-list-row{padding:14px 0;border-bottom:1px solid var(--line)}
.connection-list-row>button{display:block;background:none;border:0;padding:0;color:var(--bright);font:15px/1.5 var(--font-display);text-align:left;cursor:pointer}
.connection-list-row .connection-meta{display:block;font:12px/1.55 var(--font-display);color:var(--muted);margin:4px 0}
.connection-list-row .connection-proof{font:12px/1.5 var(--font-display);color:#b6cbb6;background:none;border:0;padding:0;cursor:pointer}
.shared-credit-proofs{display:flex;flex-wrap:wrap;gap:6px 16px}
.shared-credit-context h3 .section-highlight{display:inline;font:inherit}
@media(max-width:600px){.graph-tools{flex-wrap:wrap;gap:8px 18px}.graph-tools .graph-search{flex-basis:100%;max-width:none}.graph-search #search-results{max-height:290px}}
@media(max-width:1000px){
 body[data-surface="graph"] .workspace {grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(650px,80dvh) auto;height:auto}
 body[data-surface="graph"][data-focus-kind]:not([data-focus-kind=""]) .workspace {grid-template-rows:auto}
}

.panel-top:has(#clear-selection[hidden]) {display:none}

body[data-surface="graph"] .graph-help #stage-subtitle {display:block}
.object-title:focus-visible {outline:2px solid var(--accent);outline-offset:6px}

/* Shared graph renderer owns its own canvas layers. */
#constellation{position:absolute;left:0;right:0;top:190px;bottom:78px;width:100%;height:auto;display:block;cursor:grab;touch-action:none;overflow:hidden}
#constellation canvas{touch-action:none}
#constellation:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
@media(max-width:800px){
 body[data-surface="graph"][data-focus-kind]:not([data-focus-kind=""]) .field-stage{height:520px;min-height:520px}
}
.connection-back{padding:0;margin:0 0 22px;color:var(--muted);border:0;background:none}
.connection-path{line-height:1.8}.connection-path button{border:0;background:none;color:var(--ink);padding:0;text-decoration:underline;text-underline-offset:4px}
.connection-path+small{display:block;margin:12px 0}
#panel-content>.source-passage{margin-top:22px}

.start-path{display:block;margin:0;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink);text-decoration:none}.start-path small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.field-entry h3{margin:30px 0 8px;font-size:12px;font-weight:500;color:var(--muted)}.search-result{display:flex;align-items:center;gap:8px}.search-result .list-button{flex:1;min-width:0}.search-result>button:last-child{border:0;background:none;color:var(--muted);font-size:12px}

@media(max-width:800px){#panel-content h2{scroll-margin-top:80px}}
