/* SHARED·CONCERTINA (449) — the collapsible question-and-value field row. Copy-first port off
 * logger-surface.css's own `.cc` block (workbench/weaning/_shared/logger-surface.css:291-314,
 * the file's own header legend names `.cc-` concertina as one of its four prefixes) — class
 * names unchanged (.cc/.cc-h/.t/.v/.cv/.cc-b) for check 65 and because the kept consumers
 * (bottle · breast · nappy · multi-nappy · sleep · sleep-duration · growth weight) already emit
 * exactly this vocabulary. Six rules there, six here, byte-for-byte on every geometry value.
 *
 * 🔴 WHAT THIS IS NOT (449's own row, and the reason it is not a 437 merge): 437 SHARED·DAYGROUP
 * (.day/.day-h/.day-b) is the RECORD-ROW accordion — a logged event, read-only once closed. This
 * is the FORM-FIELD accordion — a question whose body holds an editable field, shut by default so
 * it does not compete with the primary question on screen. Same mechanics, different job; the
 * kept source carries both shapes side by side inside one file.
 *
 * ⚠️ TWO DELIBERATE DEVIATIONS, BOTH D-740, DISCLOSED — the kept source predates the ruling and
 * still reads --text-tertiary (= --ink-400) on both the summary and the caret:
 *   · `.v` (the summary TEXT): --text-tertiary is RETIRED for text (tokens.css: "zero web/ call
 *     sites — text is --ink-600"). Ported as --text-secondary, the same fix 450 SLEEPWINDOWROW
 *     made for the same token on the same surface.
 *   · `.cv` (the caret MARK): this card declares no background of its own — it sits on whatever
 *     surface its consumer puts it on, and in every kept consumer that is --surface-ground,
 *     where --ink-400 measures 2.69:1, under the 3:1 non-text floor the token's own contract
 *     names ("NEVER on --surface-ground", tokens.css:66). --text-secondary clears 3:1 on both
 *     --surface-ground and --surface-card, so the card is safe on any consumer without owning a
 *     background it should not own.
 * Every other value is the kept source's own.
 */
/* The row is the top rule; the LAST row closes the list with the bottom one. The FIRST rule went
 * (Andrew, 2026-08-04): it sat directly under the food block's own rounded edge — an edge and a
 * rule an inch apart, both saying "section ends here". The rules BETWEEN the rows stay: those are
 * separating things, that one was decorating. */
.cc { border-top: var(--radius-2) solid var(--border-hairline); }
.cc:first-of-type { border-top: 0; }
.cc:last-of-type { border-bottom: var(--radius-2) solid var(--border-hairline); }
.cc-h { display: flex; align-items: center; gap: var(--space-12); width: 100%;
  /* Height: 16 → 12 (pin 3, "slightly shorter") → back to 16 (pin, "increase the size of
     the rows slightly"). It lands where it started, and that is the right answer: the height
     saving pin 3 wanted comes from DELETING the "Optional" column, not from squeezing a
     44px touch target. Do not take this below 16 again. */
  background: none; border: 0; padding: var(--space-16) 0; cursor: pointer;
  font-family: var(--font-body); text-align: left; }
.cc-h .t { flex: 1; font-family: var(--font-display); font-size: var(--text-body);
  font-weight: var(--weight-600); color: var(--text-primary); }
/* The value a shut row prints. Teal when set (colour = state, D-404); --text-secondary when not
 * (kept --text-tertiary — deviation disclosed above). WHAT PRINTS is the consumer's summary: the
 * kept sources pass the literal 'Optional' when nothing is entered, and re-derive the string on
 * every change (bottle.js:748), so the shut row never quotes a stale answer.
 * ⚠️ THIRD DISCLOSED DEVIATION — .v.set was --accent, and the contrast ratchet (check 56) refused
 * it as a NEW failing pair: --accent (--teal-600) on this app's ground measures 3.41:1 at 14px/500
 * (computed with the WCAG formula this session; audit-confirmed), under the 4.5:1 text floor.
 * --nav-active is the same teal family's TEXT role — the app's active tab labels and the week
 * numeral already carry text in it — and clears the floor on both surfaces this card can sit on
 * (4.69:1 on --surface-ground, 5.82:1 on --surface-card). Same class of fix as 450's D-740 pair. */
.cc-h .v { font-size: var(--text-body-sm); color: var(--text-secondary); text-align: right; }
.cc-h .v.set { color: var(--nav-active); font-weight: var(--weight-500); }
.cc-h .cv { color: var(--text-secondary); display: inline-flex; flex: 0 0 auto;
  transition: transform var(--duration-200) ease; }
.cc-h .cv svg { width: var(--dim-16); height: var(--dim-16); }
/* D-453 chevron direction: REST = right-caret ">", OPEN = rotate 90° to down — the app-wide
 * accordion rule; the kept source already obeyed it. */
.cc.on .cc-h .cv { transform: rotate(90deg); color: var(--accent); }
.cc-h:active .t { color: var(--accent-hover); }
.cc-h:focus-visible { outline: var(--radius-2) solid var(--accent); outline-offset: calc(var(--radius-3) * -1); }
.cc-b { display: none; padding-bottom: var(--space-20); }
.cc.on .cc-b { display: block; }
