/* Our Research, drawn as Tetris in two phases (assets/js/research-well.20260928.v2.js): papers are
   distilled into a few principles, and the principles are engineered into one system. Replaces
   research-flow.20260924.v3.css, whose section tokens and copy rules are kept here. */
.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-well { margin: 0; padding: 25px 0 0; }
.research-well-art {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.research-well-narrow { display: none; }

/* Where papers come from, and the line where each is judged. */
.research-well-art .rw-solid { fill: var(--flow-panel); }
.rw-source { stroke: var(--flow-fiber); stroke-width: 1.2; }
.rw-lane { stroke: var(--flow-fiber); stroke-opacity: .3; stroke-width: 1; stroke-dasharray: .1 5; }
.rw-line { stroke: var(--flow-fiber); stroke-opacity: .6; stroke-width: 1.2; }

/* A paper: a page with its field's glyph in the signal colour. Block cells are coloured by the
   script from the same tokens as a block is lit, dimmed or fused. */
.rw-page { fill: var(--flow-panel); stroke: var(--flow-fiber); stroke-width: 1.15; }
.rw-fold { stroke: var(--flow-fiber); stroke-opacity: .7; stroke-width: 1; }
.rw-lines { stroke: var(--flow-fiber); stroke-opacity: .45; stroke-width: 1.1; }
.rw-paper .rw-glyph { stroke: var(--flow-signal); stroke-width: 1.45; }
.rw-source .rw-dot { fill: var(--flow-fiber); stroke: none; }
.rw-paper .rw-dot { fill: var(--flow-signal); stroke: none; }

/* Verdicts: a check (and the word PRINCIPLE) for a kept block, a cross for a rejected one. */
.rw-check { stroke: var(--flow-signal); stroke-width: 1.9; }
.rw-cross { stroke: var(--flow-muted); stroke-width: 1.3; stroke-opacity: .85; }
.rw-verdict text { fill: var(--flow-chalk); stroke: none; font: 10px var(--mono); letter-spacing: 1.2px; }

/* The well, and the system it becomes. */
.rw-wall { stroke: var(--flow-fiber); stroke-opacity: .55; stroke-width: 1.2; }
.rw-floor { stroke: var(--flow-fiber); stroke-opacity: .28; stroke-width: 1; }
.rw-grid { fill: var(--flow-fiber); fill-opacity: .16; stroke: none; }
.rw-row-flash { fill: var(--flow-chalk); stroke: none; }
.rw-outline { stroke: var(--flow-chalk); stroke-width: 1.7; }
.rw-pin { stroke: var(--flow-chalk); stroke-width: 1.4; }
.rw-signal { stroke: var(--flow-signal); stroke-width: 1.9; }
.rw-signal-dot { fill: var(--flow-signal); stroke: none; }

/* Labels: the source, and each phase with what it turns into what (the result in chalk). */
.research-well-art text { stroke: none; }
.rw-label { fill: var(--flow-muted); font: 12px var(--mono); letter-spacing: 1.4px; }
.rw-phase { fill: var(--flow-chalk); font: 12px var(--mono); letter-spacing: 1.4px; }
.rw-tally { fill: var(--flow-muted); font: 11px var(--mono); letter-spacing: 1.2px; }
.rw-tally-n { fill: var(--flow-chalk); }

.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; }

/* Where the wide drawing is drawn smaller, its labels are drawn larger. */
@media (min-width: 761px) and (max-width: 1000px) {
  .rw-label, .rw-phase { font-size: 15px; }
  .rw-tally { font-size: 13.5px; }
  .rw-verdict text { font-size: 12.5px; }
}
@media (min-width: 1001px) and (max-width: 1199px) {
  .rw-label, .rw-phase { font-size: 13px; }
  .rw-tally { font-size: 12px; }
  .rw-verdict text { font-size: 11px; }
}
@media (max-width: 760px) {
  .research-flow-section { margin-top: 30px; }
  .research-well { padding-top: 15px; }
  .research-well-wide { display: none; }
  .research-well-narrow { display: block; max-width: 440px; margin-inline: auto; }
  .rw-phase { font-size: 11px; }
  .rw-tally { font-size: 10px; }
  .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-well { break-inside: avoid; }
}
