/* ============================================================================
 * 1237 HOME·PHASE-REPORT — the closing card of a phase. THE RECIPE.
 * ============================================================================
 * claims/card-1237.md. WHAT IT IS. The keepsake Home shows in the LAST week of
 * the baby's current phase (by AGE — phases.js, never her logs, SaMD): her
 * photos, her Portrait lines, her firsts, her log lines, and "See the full
 * highlights". Then it is kept in Caïa's record. REBUILT 2026-10-04 as the
 * KEEPSAKE-HIGHLIGHTS design (Andrew: not a report — photos, ONE portrait
 * answer as a large quote, one firsts line, one logs line, the door "See the
 * highlights"; the standfirst "A look back at this phase from what you
 * logged." in every state; the drawing carries no label). Earlier signed
 * pictures redraw-1..5 (2026-10-03, "Good, no card when empty") set the head.
 *
 * THIS FILE OWNS ARRANGEMENT AND ITS OWN CHILDREN — nothing a component owns:
 *   · the card shell (the Home card convention: --surface-card,
 *     --radius-card-lg, the siblings' side margins — week-hero.css carries the
 *     same three lines);
 *   · the eyebrow "A phase ends" and the Fraunces title with its teal full
 *     stop — the head is this card's own child. It is deliberately NOT 1123
 *     SHARED·EYEBROW recoloured: the eyebrow is TEAL (--teal-700, 5.82:1 on
 *     the card; Andrew 2026-10-04 — the signed redraws had it ink,
 *     #1a1a1a, now overruled), and overriding three of that card's
 *     four properties would be a lookalike wearing its name. 1123 stays
 *     untouched; the difference is named in the build report;
 *   · the section labels ("Her photos" — only over real photos · "Her firsts" ·
 *     "Your logs") — this card's own children, one grammar, --ink-600. The
 *     signed pictures draw them one step lighter (#8a8a82 = --ink-400), which
 *     is below the D-740 text floor; the build uses --ink-600 and the delta is
 *     named in the build report (cosmetic);
 *   · the row spacing between its components' rows and between sections.
 *
 * THE PARTS ARE COMPONENTS; THE CARD IS THE RECIPE (Gate Two). Photos = 1236,
 * Portrait lines = 1234, keepsake lines = 1235, the main button = 1010's
 * shared .lg-cta (rendered by renderPrimaryCta), the new-phase hero line =
 * the shared week hero (102/426). A part this card lacks, it does not render:
 * sections only when she has something — absent, never an empty row. A phase
 * with nothing in it shows NO CARD AT ALL (Andrew, 2026-10-03: the Home hero
 * is the only mark that the phase turned) — the renderer returns ''.
 *
 * THE PHASE COLOUR is set here once, as custom properties the parts read
 * (1006's grammar): --ksl-mark for the keepsake lines. The main button wears
 * 3836's .on-phase-N class (the shared sheet's phase fills — NOT landed on
 * master at build time; the class is stamped, no private fill is pasted, and
 * the button renders brand teal until 3836 lands — named in the build report).
 *
 * 🔴 SaMD: the card displays her records and says nothing about them. No
 * score, no "on track", no comparison, no norm behind her data; the button
 * opens a report, it never computes one.
 * ============================================================================
 * STATES (cards.json): full · few · photos-none-milestone · drawing · bare ·
 * long-quote · no-photos — the input levels (the first five from the signed
 * pictures redraw-1..5) plus the long-quote cut (PROVISIONAL four-line cap) and
 * the no-photos card (a tapped answer, no photo, no drawing). The NO-CARD ruling is the renderer
 * returning '' for an empty phase — it has no frame by design.
 */

.prp {
  margin: 0 var(--space-16) var(--space-12);
  background: var(--surface-card);
  border-radius: var(--radius-card-lg);
  padding: var(--space-20);
}
/* the head — this card's own children (see the ownership note above) */
.prp-eb {
  margin: 0;
  font-family: var(--font-label);
  font-size: var(--text-label);
  font-weight: var(--weight-700);
  letter-spacing: var(--tracking-05);
  text-transform: uppercase;
  color: var(--teal-700);
}
.prp-ttl {
  margin: var(--space-4) 0 0;
  font-family: var(--font-display);
  font-weight: var(--weight-600);
  /* the week hero headline's own size; no 24 role in the scale (modulehead's raised debt) */
  font-size: var(--size-24); /* token-exception */
  line-height: var(--leading-115);
  color: var(--text-primary);
}
/* the terminal full stop — teal (Fraunces punctuation ruling, 2026-09-16) */
.prp-ttl .fs {
  color: var(--brand);
}
/* the standfirst — one short line saying what the card is, in every state */
.prp-sf {
  margin: var(--space-8) 0 0;
  font-family: var(--font-body);
  font-size: var(--text-standfirst);
  line-height: var(--leading-150);
  color: var(--ink-600);
  text-wrap: balance;
}
/* sections — only rendered when she has the part */
.prp-sec {
  margin-top: var(--space-20);
}
.prp-slab {
  margin: 0 0 var(--space-8);
  font-family: var(--font-label);
  font-size: var(--text-meta);
  font-weight: var(--weight-600);
  letter-spacing: var(--tracking-05);
  text-transform: uppercase;
  color: var(--ink-600);
}
/* the summary sections sit tighter than a section: one label, one line */
.prp-sum {
  margin-top: var(--space-16);
}
.prp-quote + .prp-sum {
  margin-top: var(--space-24);
}
/* the phase colour, set once for the parts that read it (1006's grammar) */
.prp[data-phase="1"] { --ksl-mark: var(--phase-1); }
.prp[data-phase="2"] { --ksl-mark: var(--phase-2); }
.prp[data-phase="3"] { --ksl-mark: var(--phase-3); }
.prp[data-phase="4"] { --ksl-mark: var(--phase-4); }
.prp[data-phase="5"] { --ksl-mark: var(--phase-5); }
/* the main button is the shared .lg-cta, unchanged — the base owns every line
 * of it. (Its phase fill is 3836's .on-phase-N, stamped by the renderer; no
 * private fill is declared here.) */
