/* Bioreactor record: the teammate's edit (14 Oct 2026). Page-scoped; loads after
   ../css/hwdoc.css, so every rule starts with the same `body.hwreveal .doc-wrap
   .doc` chain and wins on order without !important. Shared files untouched.   */

/* ---- 1 · Overview: the large title on one line ----------------------------- */
body.hwreveal .doc-wrap .doc section.br-overview { margin-bottom: 2.25rem; }
body.hwreveal .doc-wrap .doc .br-overview__title {
  margin: 0 0 .9rem;
  /* "on one line, no line break": sized to the column, never wrapped */
  white-space: nowrap;
  font-size: clamp(1.4rem, 6.8vw, 3.6rem);
  font-weight: 750;
  line-height: 1.04;
  letter-spacing: -.034em;
  color: var(--w-ink);
}
body.hwreveal .doc-wrap .doc section.part > p.br-overview__sub {
  margin: 0 0 1.25rem;
  max-width: 60ch;
  font-size: clamp(1.15rem, 1rem + .6vw, 1.4rem);
  font-weight: 550;
  line-height: 1.35;
  letter-spacing: -.012em;
  color: var(--w-leaf-700, #23684a);
  text-wrap: balance;
}
body.hwreveal .doc-wrap .doc section.part > p.br-overview__body { margin: 0; }

/* ---- 6.1 · the doc asks for the drawing's "Figure N" label to go ------------ */
body.hwreveal .doc-wrap .doc #fig-pore .fignum { display: none; }
/* the plates photo keeps no caption at all, so no plate tag either */
body.doc-light .doc-wrap .doc .frame.br-nocap::after { content: none; }

/* ---- 6.3 · waste list ------------------------------------------------------ */
body.hwreveal .doc-wrap .doc .br-waste {
  max-width: 68ch;
  margin: 0;
  padding-left: 1.2rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #2b2b2e;
}
body.hwreveal .doc-wrap .doc .br-waste li + li { margin-top: .5rem; }
body.hwreveal .doc-wrap .doc .br-waste b { font-weight: 650; color: var(--w-ink); }

/* ---- 7 · Limitations & Future Plans: one open vertical flow -----------------
   "Keep the white grid background, but remove the huge rounded gray
   containers", "equal rows", "no cards, or only very subtle borders", "one
   small icon above each", "thin green line underneath each title".          */
body.hwreveal .doc-wrap .doc section.sec.br-open {
  margin-left: 0;
  margin-right: 0;
  padding: 1.5rem 0 0;
  border-radius: 0;
  background: none;
  --hw-surface: #fff;
}
body.hwreveal .doc-wrap .doc section.sec.br-open + section.sec.br-open { margin-top: 1.75rem; }

body.hwreveal .doc-wrap .doc .br-proof {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-rows: 1fr;          /* equal rows */
  max-width: 68ch;
  border-top: 1px solid rgb(0 0 0 / .08);
}
body.hwreveal .doc-wrap .doc .br-proof__row {
  margin: 0;
  padding: 1.15rem 0 1.2rem;
  border-bottom: 1px solid rgb(0 0 0 / .08);
}
body.hwreveal .doc-wrap .doc .br-proof__ico {
  display: block;
  width: 26px;
  height: 26px;
  margin: 0 0 .55rem;
  color: var(--w-leaf-700, #23684a);
}
body.hwreveal .doc-wrap .doc .br-proof--limit .br-proof__ico { color: var(--w-ink-3); }
body.hwreveal .doc-wrap .doc .br-proof__t {
  display: inline-block;
  margin: 0 0 .55rem;
  padding: 0 0 .3rem;
  border-bottom: 1.5px solid var(--w-leaf-500, #4f9c6f);
  font-size: 1.0625rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--w-ink);
}
body.hwreveal .doc-wrap .doc .br-proof__row p {
  max-width: 64ch;
  margin: 0;
  font-size: .96875rem;
  line-height: 1.6;
  color: var(--w-ink-2);
}

/* the future plan sits on the same open page */
body.hwreveal .doc-wrap .doc section.sec.br-open > h4 {
  margin: 0 0 .75rem;
  font-size: 1.125rem;
  font-weight: 650;
  color: var(--w-ink);
}
body.hwreveal .doc-wrap .doc section.sec.br-open > figure.feature { margin: 1.75rem 0; }

/* ---- review fixes (15 Oct) ------------------------------------------------- */
/* No visible "Figure N" / "Table N" labels on this record, as on the LPA and
   photometer pages; captions stay. The drawing-sheet "FIG nn" plate goes too. */
body[data-instrument="bioreactor"] .doc .fignum { display: none; }
body.doc-light .doc-wrap .doc .frame::after { content: none; }

/* the plates photo: one frame, not a card round a bordered well */
body.hwreveal .doc-wrap .doc #fig-plates .frame-img { border: 0; box-shadow: none; background: none; }

/* 7.1/7.2: the row rules run the full column; only the text keeps a measure */
body.hwreveal .doc-wrap .doc .br-proof { max-width: none; }

/* 8.3: four cards as two pairs, not three plus one */
@media (min-width: 601px) {
  body.hwreveal .doc-wrap .doc #sec83 .specgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 7.3 CAD tour on phones: the chamber card sits under the render, not on it */
@media (max-width: 600px) {
  #triple .triple-label {
    position: static; max-width: none; margin: 0; border-radius: 0;
    border: 0; border-top: 1px solid rgba(255, 255, 255, .09);
  }
}

/* 15 Oct 2026: the summary sheet is back (the owner's call). Its working volume
   reads "300 mL -> 1 L" (the first three runs, then September on), which is
   wider than one cell of the spec strip, so that cell takes two and never wraps. */
.hwsum__spec div.hwsum__wide { grid-column: span 2; }
.hwsum__spec div.hwsum__wide dd { white-space: nowrap; }
@media (min-width: 980px) { .hwsum__spec div.hwsum__wide { grid-column: auto; } }

/* 15 Oct 2026: 8.2's first-run check is a numbered list; keep its indent close to the text */
#sec82 aside.callout ol { margin: .4rem 0 0; padding-left: 1.25rem; }
#sec82 aside.callout ol > li { margin: 0 0 .35rem; }
#sec82 aside.callout ol > li:last-child { margin-bottom: 0; }

/* 15 Oct 2026: integration prototype 2 is still orange, but the draft guide's facts about it sit
   in its band above the to-add note, spaced like that note (hwdoc.css: .cyc__band > .todo) */
body.hwreveal .doc-wrap .doc .cycles .cyc__band > p.cyc-known { margin: 1.1rem 0 0; }

/* 15 Oct 2026, the owner: "remove the bar scanner completely". V4's story.css (synced from the dev page)
   and its baked DOM carry a landing sweep; hidden here so a re-sync does not bring it back. */
.story .hero-scan { display: none; }

/* 17 Oct 2026, the owner: "The back to hardware button overlaps with bioreactor progress bar for animation".
   V4's route line ("Photometer · next Membrane" and its bar) sat under the top bar, top left, in the captions'
   column, exactly where the Back button came in on 15 Oct. On a desk or a tablet it now sits in the button's
   row, to its right (js/doc.js keeps --bb-r at the button's right edge in the stage), centred on the button's
   height. On a phone that row is the Back button's and the Skip button's (../js/hero-mode.js), so the line
   runs the full width just under them, and the labels keep below it (js/hero.js, js/story.js: labels from
   118 px on a desk and 152 px in portrait, edge pointers from 160 px in portrait). The Back button keeps its place and look on every page. */
.story .route-m { top: calc(var(--nv-h, 68px) + 17px); left: calc(var(--bb-r, 18.5rem) + 24px); }
@media (max-width: 860px) {
  .story .route-m { top: calc(var(--nv-h, 68px) + 17px); left: calc(var(--bb-r, 6rem) + 16px); right: 1.1rem; width: auto; }
}
@media (max-width: 700px) {
  .story .route-m { top: calc(var(--nv-h, 68px) + 53px); left: 1.1rem; right: 1.1rem; }
}
