/* ============================================================
   FUND.CSS
   Phase 5 Fund Intelligence.

   Its own file because funds are a new research surface with a
   different lifetime from the private workspace in fundraise.css.
   The visual language is the existing institutional one: thin
   borders, restrained green, dense rows, data as the design. No
   fund cards, no gauges, no performance dials - there is no
   performance data here to put in one.
   ============================================================ */

.fh-sec {
  margin: 34px 0; padding-top: 22px; border-top: 1px solid var(--hairline);
}
.fh-h {
  font: 600 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-muted); margin: 0 0 16px;
}

/* The headline vehicle. One left rule, the same device the rest of
   the product uses for "this is the one that matters". */
.fh-latest {
  border: 1px solid var(--hairline-strong); border-left: 3px solid var(--accent);
  padding: 16px 18px; margin-bottom: 18px;
}
.fh-latest-top {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px;
}
.fh-latest-label {
  font: 600 9.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-muted);
}
.fh-latest-name {
  font: 600 17px/1.3 var(--sans); color: var(--ink); letter-spacing: -0.01em;
}
.fh-flag {
  font: 600 9px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase;
  color: var(--accent-bright); background: var(--accent-pale);
  padding: 3px 6px; border-radius: 3px;
}

.fh-facts { display: flex; flex-wrap: wrap; gap: 0 28px; margin: 14px 0 0; }
.fh-facts div { display: flex; flex-direction: column; gap: 2px; }
.fh-facts dt {
  font: 600 9.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-muted);
}
.fh-facts dd {
  margin: 0; font: 600 14px/1.3 var(--sans); color: var(--ink);
  font-variant-numeric: tabular-nums;
}

/* Body text, not fine print. It is the sentence that stops "latest"
   being read as "currently investing". */
.fh-caveat {
  margin: 14px 0 0; font: 400 13px/1.55 var(--sans); color: var(--ink-dim);
  max-width: 64ch;
}
.fh-companions {
  margin: 8px 0 0; font: 400 12.5px/1.5 var(--sans); color: var(--ink-muted);
  max-width: 64ch;
}

.fh-tablewrap { overflow-x: auto; border: 1px solid var(--hairline-strong); }
.fh-table {
  width: 100%; border-collapse: collapse; min-width: 780px;
  font: 400 13px/1.4 var(--sans);
}
.fh-table thead th {
  text-align: left; padding: 9px 12px; background: var(--surface);
  border-bottom: 1px solid var(--hairline-strong);
  font: 600 9.5px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-muted); white-space: nowrap;
}
.fh-table tbody td {
  padding: 9px 12px; border-bottom: 1px solid var(--hairline); vertical-align: top;
}
.fh-table tbody tr:last-child td { border-bottom: 0; }
.fh-table tbody tr:hover td { background: var(--surface); }
/* The flagship is marked with a hairline, not a highlight. */
.fh-table tr.is-flagship .fh-name { box-shadow: inset 2px 0 0 var(--accent); padding-left: 10px; }

.fh-name { font-weight: 600; color: var(--ink); min-width: 190px; }
.fh-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.fh-null { color: var(--ink-muted); }
.fh-note {
  display: inline-block; margin-left: 7px; padding: 2px 5px; border-radius: 3px;
  font: 600 9px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase;
  background: var(--surface-raised); color: var(--ink-muted); font-weight: 500;
}
.fh-note-warn { color: var(--red); background: var(--bg); border: 1px solid var(--hairline-strong); }
.fh-orig, .fh-conf {
  display: block; margin-top: 2px;
  font: 400 10.5px/1.3 var(--sans); color: var(--ink-muted);
}
.fh-src a { color: var(--accent); text-decoration: none; border-bottom: 1px solid transparent; }
.fh-src a:hover { border-bottom-color: var(--accent); }
.fh-src a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.fh-coverage {
  margin: 12px 0 0; font: 400 12.5px/1.55 var(--sans); color: var(--ink-dim);
  max-width: 68ch;
}

@media (max-width: 640px) {
  .fh-facts { gap: 0 18px; }
  .fh-latest { padding: 14px; }
}

/* ---- Fund page (Phase 5D) ---- */

.fp-wrap { max-width: 900px; }
.fp-name { margin-bottom: 6px; }
.fp-firm {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  font: 400 15px/1.4 var(--sans); color: var(--ink-dim); margin: 0 0 22px;
}
.fp-firm a { color: var(--ink); font-weight: 600; text-decoration: none;
  border-bottom: 1px solid var(--hairline-strong); }
.fp-firm a:hover { color: var(--accent-bright); border-bottom-color: var(--accent); }

.fp-facts {
  display: flex; flex-wrap: wrap; gap: 18px 34px; margin: 0 0 16px;
  padding: 16px 18px; border: 1px solid var(--hairline-strong);
}
.fp-facts div { display: flex; flex-direction: column; gap: 3px; }
.fp-facts dt {
  font: 600 9.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-muted);
}
.fp-facts dd {
  margin: 0; font: 600 16px/1.2 var(--sans); color: var(--ink);
  font-variant-numeric: tabular-nums;
}

/* Absences are stated in body text, never tucked into fine print.
   Whether something is unknown is itself information. */
.fp-deploy, .fp-note {
  margin: 0 0 12px; font: 400 13.5px/1.55 var(--sans); color: var(--ink-dim);
  max-width: 68ch;
}
.fp-note { color: var(--ink-muted); }

.fp-sec { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--hairline); }
.fp-h {
  font: 600 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-muted); margin: 0 0 14px;
}
.fp-empty {
  margin: 0; font: 400 13.5px/1.6 var(--sans); color: var(--ink-dim); max-width: 68ch;
}

.fp-src { margin: 0 0 8px; font: 400 13.5px/1.5 var(--sans); }
.fp-src a { color: var(--accent); text-decoration: none;
  border-bottom: 1px solid var(--hairline-strong); }
.fp-src a:hover { border-bottom-color: var(--accent); }
.fp-conf, .fp-research {
  font: 400 12.5px/1.5 var(--sans); color: var(--ink-muted);
}
.fp-conf { margin-left: 10px; }
.fp-research { margin: 0; max-width: 68ch; }

.fp-obs-intro {
  margin: 0 0 14px; font: 400 13px/1.55 var(--sans); color: var(--ink-dim); max-width: 68ch;
}
.fp-obs { margin-bottom: 16px; }
.fp-obs-label {
  font: 600 9.5px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-muted);
}
.fp-obs-list { list-style: none; margin: 8px 0 0; padding: 0; }
.fp-obs-list li {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 6px 0; border-bottom: 1px solid var(--hairline);
  font: 400 13.5px/1.4 var(--sans); color: var(--ink);
}
.fp-obs-list li:last-child { border-bottom: 0; }
/* The denominator is part of the fact, so it sits beside the label
   rather than being implied by a percentage. */
.fp-obs-n {
  font: 500 12px/1.4 var(--mono); color: var(--ink-muted);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}

.fp-siblings { list-style: none; margin: 0; padding: 0; }
.fp-siblings li {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  padding: 7px 0; border-bottom: 1px solid var(--hairline);
}
.fp-siblings li:last-child { border-bottom: 0; }
.fp-siblings a {
  font: 600 13.5px/1.4 var(--sans); color: var(--ink); text-decoration: none;
  border-bottom: 1px solid transparent;
}
.fp-siblings a:hover { color: var(--accent-bright); border-bottom-color: var(--accent); }
.fp-sib-meta {
  font: 400 12px/1.4 var(--sans); color: var(--ink-muted);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
  .fp-facts { gap: 14px 20px; padding: 14px; }
}

/* ---- Tracked portfolio outcomes (Phase 5F) ----
   Counts with their denominators. No chart, because a chart of four
   numbers is decoration, and no colour coding, because an
   acquisition is not a win and a closure is not a loss. */

.occ-sec { margin: 30px 0; padding-top: 20px; border-top: 1px solid var(--hairline); }
.occ-h {
  font: 600 10px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-muted); margin: 0 0 14px;
}
.occ-list { list-style: none; margin: 0 0 14px; padding: 0; max-width: 480px; }
.occ-list li {
  display: flex; align-items: baseline; justify-content: space-between; gap: 18px;
  padding: 8px 0; border-bottom: 1px solid var(--hairline);
}
.occ-list li:last-child { border-bottom: 0; }
.occ-label { font: 400 14px/1.4 var(--sans); color: var(--ink); }
/* The denominator sits beside the count, never implied by a percentage. */
.occ-n {
  font: 600 13px/1.4 var(--mono); color: var(--ink); white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.occ-note {
  margin: 0 0 8px; font: 400 12.5px/1.55 var(--sans); color: var(--ink-dim);
  max-width: 68ch;
}
.occ-note-strong { color: var(--ink-muted); }

/* ---- Fund context inside other products (Phase 5H) ---- */

.fi-fund {
  display: flex; flex-direction: column; gap: 3px;
  padding: 10px 12px; margin-top: 12px;
  border: 1px solid var(--hairline); background: var(--surface);
}
.fi-fund.is-compact { padding: 9px 11px; margin-top: 0; }
.fi-fund-label {
  font: 600 9px/1 var(--mono); letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-muted);
}
.fi-fund-val {
  font: 500 13px/1.4 var(--sans); color: var(--ink);
  text-decoration: none; font-variant-numeric: tabular-nums;
}
a.fi-fund-val { border-bottom: 1px solid transparent; }
a.fi-fund-val:hover { color: var(--accent-bright); border-bottom-color: var(--accent); }
.fi-note {
  margin: 8px 0 0; font: 400 12px/1.5 var(--sans); color: var(--ink-muted);
  max-width: 60ch;
}
