/* Print-first, deliberately low ink. The screen around the paper follows the
 * site, but every sheet itself is white with colour used only as a thin cue. */
* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0; padding-top: calc(var(--tap-min) + var(--space-4)); background: var(--bg);
  color: var(--ink); font-family: var(--font-ui);
}

.handbook-toolbar {
  position: fixed; inset: 0 0 auto; z-index: var(--z-nav); min-height: var(--tap-min);
  padding: var(--space-2) var(--space-4); border-bottom: 1px solid var(--line);
  background: var(--panel); display: flex; align-items: center; gap: var(--space-3);
}
.handbook-back { color: var(--ink); font-weight: var(--weight-semibold); text-decoration: none; }
.handbook-mobile-note { margin: 0 auto; color: var(--soft); font-size: var(--size-small); }
.handbook-print {
  min-height: var(--tap-min); padding: 0 var(--space-4); border: 1px solid var(--ink);
  border-radius: var(--radius-control); background: var(--ink); color: var(--on);
  font: inherit; font-weight: var(--weight-semibold); cursor: pointer;
}
.handbook-print:disabled { opacity: 0.55; cursor: wait; }
#handbook { padding: var(--space-5) 0; }
.handbook-loading { max-width: var(--measure); margin: var(--space-6) auto; padding: var(--space-4); }
.handbook-error {
  max-width: var(--measure); margin: var(--space-6) auto; padding: var(--space-4);
  border-left: var(--border-accent) solid var(--gap); background: var(--gap-bg);
}

.handbook-page {
  width: 8.5in; min-height: 11in; margin: 0 auto var(--space-5);
  padding: 0.42in 0.5in 0.38in; background: var(--on); box-shadow: var(--shadow-raised);
  display: flex; flex-direction: column; break-after: page; page-break-after: always;
}
.handbook-page:last-child { break-after: auto; page-break-after: auto; }
.book-meta {
  min-height: 0.48in; padding-bottom: 0.12in; border-bottom: 1px solid var(--line);
  display: grid; grid-template-columns: 1fr 1fr auto; gap: 0.16in; align-items: end;
  color: var(--soft); font-size: 8pt; line-height: 1.3;
}
.book-meta strong { display: block; color: var(--ink); font-size: 9pt; }
.book-meta-page { text-align: right; white-space: nowrap; }
.book-title-row { margin: 0.15in 0 0.11in; }
.book-kicker {
  margin: 0 0 0.04in; color: var(--soft); font-size: 7.5pt;
  font-weight: var(--weight-bold); letter-spacing: var(--track-kicker); text-transform: uppercase;
}
.book-title {
  margin: 0; font-family: var(--font-display); font-size: 22pt;
  font-weight: var(--weight-semibold); line-height: 1.05;
}
.book-subtitle { margin: 0.06in 0 0; color: var(--soft); font-size: 9.5pt; }

.book-summary { margin-bottom: 0.08in; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.07in; }
.book-summary-item {
  padding: 0.035in 0.06in; border: 1px solid var(--line); border-radius: var(--radius-slot);
  display: flex; align-items: baseline; gap: 0.05in;
}
.book-summary-value {
  display: block; font-family: var(--font-display); font-size: 12pt; font-weight: var(--weight-semibold);
}
.book-summary-label { color: var(--soft); font-size: 6.5pt; }
.member-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0.04in; align-items: start; }
.commitment-list { display: grid; gap: 0.07in; }
.member-card {
  border: 1px solid var(--line); border-left: var(--border-accent) solid var(--soft);
  border-radius: var(--radius-card); padding: 0.06in 0.08in; break-inside: avoid;
}
.member-card.is-flagged { border-left-color: var(--gap); }
.member-head, .commitment-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 0.12in;
}
.member-name, .leader-name, .commitment-name {
  margin: 0; font-family: var(--font-display); font-size: 10pt; font-weight: var(--weight-semibold);
}
.other-name { color: var(--soft); font-family: var(--font-ui); font-size: 8.5pt; font-weight: var(--weight-normal); }
.member-flags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.04in; }
.book-flag {
  padding: 0.015in 0.04in; border: 1px solid var(--gap); border-radius: var(--radius-pill);
  color: var(--gap); font-size: 6pt; font-weight: var(--weight-bold); white-space: nowrap;
}
.member-counts {
  margin: 0.035in 0 0.045in; padding: 0.03in 0; border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 0.08in; font-size: 6.5pt;
}
.member-counts strong { color: var(--ink); }
.book-details {
  margin: 0; display: grid; grid-template-columns: 0.62in 1fr;
  column-gap: 0.06in; row-gap: 0.018in; font-size: 6.5pt; line-height: 1.16;
}
.book-details dt { color: var(--soft); font-weight: var(--weight-semibold); }
.book-details dd { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }

.leader-list { display: grid; gap: 0.07in; grid-template-columns: repeat(3, 1fr); align-items: start; }
.leader-card {
  min-height: 0.94in; border: 1px solid var(--line);
  border-left: var(--border-accent) solid var(--soft); border-radius: var(--radius-card);
  padding: 0.08in; break-inside: avoid;
}
.leader-layout { display: grid; grid-template-columns: 0.48in 1fr; gap: 0.07in; align-items: start; }
.leader-photo {
  width: 0.48in; height: 0.48in; border-radius: 50%; border: 1px solid var(--line); object-fit: cover;
}
.leader-photo-placeholder {
  width: 0.48in; height: 0.48in; border-radius: 50%; border: 1px solid var(--line);
  display: grid; place-items: center; color: var(--soft); font-family: var(--font-display); font-size: 11pt;
}
.leader-role { margin: 0.02in 0; font-size: 7pt; font-weight: var(--weight-bold); }
.leader-default, .leader-group, .book-note {
  margin: 0.018in 0; color: var(--soft); font-size: 6.3pt; line-height: 1.25;
}
.leader-led-pod {
  margin: 0.025in 0; color: var(--ink); font-size: 7pt; font-weight: var(--weight-bold);
  line-height: 1.25;
}
.leader-contact {
  margin: 0.018in 0; color: var(--ink); font-size: 6.3pt; line-height: 1.25; overflow-wrap: anywhere;
}
.commitment-card {
  border: 1px solid var(--line); border-left: var(--border-accent) solid var(--t-build-deep);
  border-radius: var(--radius-card); padding: 0.075in 0.1in; break-inside: avoid;
}
.commitment-card--strike { border-left-color: var(--t-strike-deep); }
.commitment-meta { margin: 0.025in 0 0; color: var(--soft); font-size: 7pt; }
.commitment-note { margin: 0.03in 0 0; font-size: 7pt; }

.day-section { margin-bottom: 0.13in; break-inside: avoid; }
.day-section:last-child { margin-bottom: 0; }
.book-day + .book-day { margin-top: 0.14in; padding-top: 0.1in; border-top: 1px solid var(--line); }
.book-day-title {
  margin: 0 0 0.08in; font-family: var(--font-display); font-size: 13pt;
  font-weight: var(--weight-semibold);
}
.book-day-title span { color: var(--soft); font-family: var(--font-ui); font-size: 8pt; }
.day-section-head {
  margin: 0 0 0.06in; padding-bottom: 0.035in; border-bottom: 1px solid var(--line);
  font-size: 9pt; font-weight: var(--weight-bold);
}
.event-row {
  padding: 0.055in 0.07in; border-left: var(--border-accent) solid var(--soft);
  background: var(--panel); font-size: 8pt; line-height: 1.25;
}
.event-row + .event-row, .schedule-row + .schedule-row { margin-top: 0.035in; }
.schedule-row {
  padding: 0.055in 0.07in; border-left: var(--border-accent) solid var(--soft);
  border-bottom: 1px solid var(--line); display: flex; align-items: baseline;
  justify-content: space-between; gap: 0.12in; font-size: 8pt; line-height: 1.25;
}
.row-time { min-width: 0.95in; font-variant-numeric: tabular-nums; font-weight: var(--weight-bold); }
.row-main { flex: 1; }
.row-person { font-weight: var(--weight-bold); }
.row-sub { color: var(--soft); }
.book-empty {
  padding: 0.22in; border: 1px dashed var(--line); color: var(--soft); text-align: center; font-size: 9pt;
}
.book-confidential { margin: auto 0 0; padding-top: 0.1in; color: var(--soft); font-size: 7pt; text-align: center; }

@media (max-width: 767px) {
  .handbook-toolbar { flex-wrap: wrap; }
  .handbook-mobile-note { order: 3; width: 100%; }
  #handbook { padding: var(--space-3) 0; overflow: visible; }
  .handbook-page { margin-bottom: var(--space-3); }
}

@media print {
  @page { size: Letter portrait; margin: 0; }
  body {
    padding-top: 0 !important; background: var(--on); print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .handbook-toolbar { display: none; }
  #handbook { padding: 0; }
  .handbook-page {
    margin: 0; box-shadow: none; width: 8.5in; height: 11in; min-height: 11in;
    overflow: hidden; zoom: 1 !important;
  }
}
