/* Page-only rules for the hybrid-recovery report. Author: Imad A. Adel.
   Linked after report.layout.css, which is shipped byte-identical to the family asset.
   Nothing here belongs in the shared layer: every rule below is either this page's own
   component or a shell metric brought to the family reference. */

/* ---- neutral tokens, to the family reference -------------------------------------
   The maroon accent tokens (--blue, --accent, --link, --sky, --pale) and the graphite
   --navy are the GEOR identity under master D0.1 and are not touched. The neutral line
   and faint greys carry no identity, so they take the family values and the panel,
   header, rail and footer rules they feed then match the reference exactly. */
:root[data-theme="light"]{--faint:#5F6B78;--line:#D9E1EA;--line2:#C2CEDA}

/* ---- shell metrics ---------------------------------------------------------------- */
/* the page's own ".pb p{line-height:1.7}" outranks the shared ".cue" rule, so the cue is
   named inside the panel body and takes the reference's leading at each width */
.cue,.pb .cue{line-height:1.5}
@media(max-width:600px){.cue,.pb .cue{line-height:1.65}}
.hero-band .eyebrow{font-family:'IBM Plex Mono',monospace;text-transform:uppercase}
.hero-stats{margin-top:10px}
.hstat{border-top-width:1px}
.hstat .v{font-size:1.16rem;line-height:1.5}
.hstat .k{letter-spacing:1px}
.guide-note{padding-top:14px;margin:16px 0}
.footbar .fcredit,.footbar .freturn a{font-size:.72rem;line-height:1.6}
.footbar .freturn a{color:var(--muted)}
:root[data-theme="dark"] .footbar .freturn a,
:root:not([data-theme="light"]) .footbar .freturn a{color:var(--sky)}
:root[data-theme="dark"] .topbar .report-endorsement,
:root:not([data-theme="light"]) .topbar .report-endorsement{color:var(--sky)}

/* ---- figures at phone widths -----------------------------------------------------
   Measured with the overlap probe at 320, 375 and 390 px. A taller plot box separates
   the stacked-bar totals from the segment labels on Figure 3 and lifts Figure 4's
   Wolfcamp label clear of the two rotated regime annotations. No data, trace, label
   text or annotation position is changed; only the box the figure is drawn into. */
@media(max-width:430px){.plot-box{--h:560px}}

/* ---- figures are not held to the reading measure ---------------------------------
   The shared layer caps a pane at 72ch so prose keeps a readable line length. With the
   source rail beside it, that cap also squeezes every figure: measured against the served
   page, the five charts and the schematic each lost 326 px at 1,280 and 537 px at 1,920,
   and the schematic's own labels shrank with them.

   Only the panes that carry a figure are released, so the prose panes — overview, model,
   cross-comparison and nomenclature — keep the family measure, and so does the pane the
   format checker measures. Inside a released pane the prose keeps 72ch of its own; the
   figure, its table and its actions take the full column. */
@media(min-width:1061px){
  :root[data-variant="R1"] .pane:has(.plot-box),
  :root[data-variant="R1"] .pane:has(.f3d){max-width:100%}
  :root[data-variant="R1"] .pane:has(.plot-box) > .pane-head,
  :root[data-variant="R1"] .pane:has(.f3d) > .pane-head,
  :root[data-variant="R1"] .pane:has(.plot-box) > .guide-note,
  :root[data-variant="R1"] .pane:has(.f3d) > .guide-note,
  :root[data-variant="R1"] .pane:has(.plot-box) > .note,
  :root[data-variant="R1"] .pane:has(.f3d) > .note,
  :root[data-variant="R1"] .pane:has(.plot-box) > details.disc,
  :root[data-variant="R1"] .pane:has(.f3d) > details.disc,
  :root[data-variant="R1"] .pane:has(.plot-box) figcaption,
  :root[data-variant="R1"] .pane:has(.f3d) figcaption,
  :root[data-variant="R1"] .pane:has(.plot-box) .source-note,
  :root[data-variant="R1"] .pane:has(.f3d) .source-note{max-width:min(72ch,100%)}
}

/* ---- captions on the schematic card ----------------------------------------------
   Figures 6 and 7 are numbered inside the scene card, which holds a fixed dark ground in
   both page themes. Their caption text and figure number take the card's own ink rather
   than the page's, which in light would be near-black on near-black (measured 1.10:1). */
.f3d figcaption{color:var(--muted)}
.f3d figcaption .fignum{color:var(--ink)}

/* ---- schematic type, 11 px minimum at every width ---------------------------------
   Both schematics are authored on a viewBox far wider than the card: the strip on 1,270
   units and the trace on 640. Scaling either to the card divides its type by the same
   factor, so labels authored at 8 to 9.5 units rendered at 1.6 to 6.9 px. Every label is
   now authored at 11 units or more, and the card holds the diagram at its own scale and
   scrolls across instead of shrinking it — the pattern the WP14 report uses. The house
   scroll cue above the card says so, in the family's own words. */
.f3d .f3d-stage.strip{height:auto;aspect-ratio:auto;overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-x:contain}
.f3d .f3d-stage.strip>svg{width:1270px;min-width:1270px;height:auto!important}
.f3d .svg-host.trace{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
  min-height:0}
.f3d .svg-host.trace>svg{width:640px;min-width:640px;height:auto!important}
@media (max-width:720px){.f3d .f3d-stage.strip{height:auto;aspect-ratio:auto}}
