/* Neuroscience research → principles → systems. Investigation lives inside the model. */
.research-flow-section {
  --flow-fiber: #b5c7aa;
  --flow-signal: #dfa98d;
  --flow-chalk: #e7eddf;
  --flow-panel: #233d32;
  --flow-muted: #adbda6;
  --flow-rule: #dce7d328;
  margin-top: 46px;
  border-top: 1px solid var(--flow-rule);
}
html[data-theme="dark"] .research-flow-section {
  --flow-fiber: #babbb1;
  --flow-signal: #f5f1df;
  --flow-chalk: #efeee8;
  --flow-panel: #111111;
  --flow-muted: #b5b3ab;
  --flow-rule: #eeece629;
}
.research-flow { margin: 0; padding: 25px 0 0; }
.research-flow-definitions { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.research-flow-art {
  display: block;
  width: 100%;
  height: auto;
  color: var(--flow-fiber);
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.research-flow-mobile { display: none; }
.flow-guide { stroke: var(--flow-fiber); stroke-width: .7; opacity: .16; }
.flow-vessel { stroke: var(--flow-fiber); stroke-width: 1.35; }
.flow-wash-start { stop-color: var(--flow-fiber); stop-opacity: .015; }
.flow-wash-end { stop-color: var(--flow-fiber); stop-opacity: .16; }
.flow-contour { opacity: .25; }
.flow-route { stroke: var(--flow-fiber); stroke-width: 1.25; stroke-opacity: .48; }
.flow-route-accent { stroke: var(--flow-signal); stroke-opacity: .58; }
.flow-hidden-route { visibility: hidden; }
.research-idea { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-width: 1.5; }
.flow-idea-coral { stroke: var(--flow-signal); }
.flow-idea-chalk { stroke: var(--flow-chalk); }
.flow-particle { fill: var(--flow-signal); stroke: none; }
.flow-token-box { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-width: 1.35; }
.flow-token-icon { stroke: var(--flow-signal); stroke-width: 1.5; fill: none; }
.flow-internals { stroke: var(--flow-fiber); stroke-width: 1.1; fill: none; }
.flow-junction { fill: var(--flow-signal); stroke: none; }
.flow-system-back { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-opacity: .25; stroke-width: 1.3; }
.flow-system-mid { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-opacity: .45; stroke-width: 1.3; }
.flow-system-front { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-width: 1.5; }
.flow-system-pin { stroke: var(--flow-fiber); stroke-width: 1.2; opacity: .5; }
.flow-model-wire { fill: none; stroke: var(--flow-fiber); stroke-width: 1; stroke-opacity: .36; }
.flow-model-node { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-width: 1.3; }
.flow-model-active { fill: none; stroke: var(--flow-signal); stroke-width: 1.5; }
.flow-lens { fill: var(--flow-panel); stroke: var(--flow-chalk); stroke-width: 1.6; }
.flow-lens-rim { fill: none; stroke: var(--flow-fiber); stroke-width: .8; stroke-opacity: .4; }
.flow-lens-handle { fill: var(--flow-panel); stroke: var(--flow-chalk); stroke-width: 1.6; }
.flow-principle-label { fill: var(--flow-chalk); font: 13px var(--mono); text-anchor: middle; }
.flow-model-label { fill: var(--flow-muted); font: 11px var(--mono); letter-spacing: 1.2px; }
.flow-stage-label { fill: var(--flow-muted); font: 12px var(--mono); letter-spacing: 1.4px; text-anchor: middle; }
.research-flow-section .research-flow-copy { margin-top: 24px; border-top: 1px solid var(--flow-rule); }
.research-flow-copy .principle { padding-top: 27px; }
.research-flow-copy .principle h3 { margin-top: 0; }
@media (min-width: 761px) and (max-width: 1000px) {
  .flow-stage-label { font-size: 16px; }
  .flow-principle-label { font-size: 16px; }
  .flow-model-label { font-size: 14px; }
}
@media (max-width: 760px) {
  .research-flow-section { margin-top: 30px; }
  .research-flow { padding-top: 15px; }
  .research-flow-desktop { display: none; }
  .research-flow-mobile { display: block; max-width: 400px; margin-inline: auto; }
  .research-flow-section .research-flow-copy { margin-top: 22px; }
  .research-flow-copy .principle { padding-block: 24px; }
  .research-flow-copy .principle:last-child { padding-bottom: 0; }
}
@media print {
  .research-flow-section, html[data-theme="dark"] .research-flow-section {
    --flow-fiber: #527258; --flow-signal: #a25136; --flow-chalk: #243d34;
    --flow-panel: #ffffff; --flow-muted: #56675c; --flow-rule: #c6cfc2;
  }
  .research-flow { break-inside: avoid; }
}
