/* Per-meeting detail page (meeting.html + js/meeting.js). Editorial, single
   column, mobile-first. Reuses the site's paper/ink/accent variables. */

.meeting-back {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--accent-deep);
  text-decoration: none;
  margin-bottom: 1rem;
}
.meeting-back:hover { text-decoration: underline; }

.meeting { max-width: 760px; margin: 0 auto; }
.meeting-loading, .meeting-error {
  font-family: var(--serif); color: var(--ink-soft); padding: 2rem 0;
}
.meeting-error a { color: var(--accent-deep); font-weight: 600; }

/* Header */
.meeting-head { border-bottom: 2px solid var(--ink); padding-bottom: 1rem; margin-bottom: 1.4rem; }
.meeting-kicker {
  font-family: var(--sans); font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--accent-deep);
  margin: 0 0 0.35rem;
}
.meeting-title {
  font-family: var(--serif); font-weight: 700; font-size: 1.9rem;
  line-height: 1.15; color: var(--ink); margin: 0 0 0.5rem;
}
.meeting-title-link { color: inherit; text-decoration: none; }
.meeting-title-link:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ch-speakers a { color: var(--accent-deep); text-decoration: none; }
.ch-speakers a:hover { text-decoration: underline; }
.meeting-when { font-family: var(--sans); font-size: 0.9rem; color: var(--ink-muted); margin: 0; }
.meeting-access {
  display: inline-block; margin-left: 0.5rem; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase; padding: 0.12rem 0.5rem;
  border-radius: 3px; vertical-align: middle;
}
.meeting-access.open { background: var(--accent-tint); color: var(--accent-deep); }
.meeting-access.closed { background: var(--paper-deep); color: var(--ink-muted); }

/* The gist — always visible, the most-read block */
.meeting-gist { margin-bottom: 1.6rem; }
.meeting-gist-label {
  font-family: var(--sans); font-weight: 700; font-size: 0.72rem;
  letter-spacing: 0.07em; text-transform: uppercase; color: var(--accent-deep);
  margin: 0 0 0.3rem;
}
.meeting-gist-text {
  font-family: var(--serif); font-size: 1.08rem; line-height: 1.6; color: var(--ink); margin: 0;
}
.meeting-gist-text a, .ch-text a { color: var(--accent-deep); text-decoration: none; font-weight: 600; }
.meeting-gist-text a:hover, .ch-text a:hover { text-decoration: underline; }

.meeting-h2 {
  font-family: var(--sans); font-weight: 700; font-size: 1.05rem; color: var(--ink);
  margin: 0 0 0.7rem; cursor: default;
}
.meeting-count { color: var(--ink-muted); font-weight: 600; }

/* Agenda */
.meeting-agenda { margin-bottom: 1.6rem; }
.agItem-list { list-style: none; margin: 0; padding: 0; }
.agItem {
  font-family: var(--serif); font-size: 0.95rem; line-height: 1.45;
  padding: 0.5rem 0; border-top: 1px solid var(--rule-soft);
}
.agItem:first-child { border-top: none; }
.agItem-file a, .agItem-file { font-family: var(--sans); font-weight: 700; color: var(--accent-deep); text-decoration: none; }
.agItem-file a:hover { text-decoration: underline; }
.agItem-title { color: var(--ink); }
.agItem-status {
  display: inline-block; font-family: var(--sans); font-size: 0.72rem; font-weight: 600;
  color: var(--ink-muted); background: var(--paper-deep); padding: 0.06rem 0.4rem;
  border-radius: 3px; margin-left: 0.25rem; white-space: nowrap;
}

/* Source / verification links */
.meeting-sources { margin-bottom: 1.8rem; padding: 1rem; background: var(--paper-deep); border-radius: 6px; }
.meeting-sources-label {
  font-family: var(--sans); font-weight: 700; font-size: 0.7rem;
  letter-spacing: 0.07em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 0.55rem;
}
.meeting-srclinks { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.meeting-srclink {
  font-family: var(--sans); font-weight: 600; font-size: 0.84rem; text-decoration: none;
  padding: 0.45rem 0.8rem; border-radius: 4px; border: 1px solid var(--rule);
}
.meeting-srclink.video { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.meeting-srclink.pdf, .meeting-srclink.rec { background: var(--paper); color: var(--accent-deep); }
.meeting-srclink:hover { filter: brightness(1.05); text-decoration: underline; }

/* "What was discussed" — AI chapter outline */
.meeting-chapters { margin-bottom: 2rem; }
.meeting-chapters-disclose > summary { list-style: none; }
.meeting-chapters-disclose > summary::-webkit-details-marker { display: none; }
.meeting-chapters-disclose > summary.meeting-h2::before { content: '▸ '; color: var(--accent); }
.meeting-chapters-disclose[open] > summary.meeting-h2::before { content: '▾ '; }
.meeting-chapters-note {
  font-family: var(--sans); font-size: 0.78rem; color: var(--ink-muted);
  line-height: 1.5; margin: 0 0 0.8rem;
}
.ch-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.9rem; }
.ch-chip {
  font-family: var(--sans); font-size: 0.76rem; font-weight: 600; cursor: pointer;
  padding: 0.25rem 0.6rem; border-radius: 999px; border: 1px solid var(--rule);
  background: var(--paper); color: var(--ink-muted);
}
.ch-chip.active { background: var(--accent-deep); color: var(--paper); border-color: var(--accent-deep); }
.ch-chip:hover { border-color: var(--accent); }

.ch { border-top: 1px solid var(--rule-soft); }
.ch-summary { list-style: none; cursor: pointer; padding: 0.6rem 0; display: flex; gap: 0.6rem; align-items: baseline; }
.ch-summary::-webkit-details-marker { display: none; }
.ch-cat {
  font-family: var(--sans); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--accent-deep); white-space: nowrap; flex-shrink: 0;
  min-width: 7.5rem;
}
.ch-title { font-family: var(--serif); font-size: 0.98rem; color: var(--ink); line-height: 1.4; }
.ch-body { padding: 0 0 0.9rem 8.1rem; }
.ch-text { font-family: var(--serif); font-size: 0.92rem; line-height: 1.55; color: var(--ink); margin: 0 0 0.5rem; }
.ch-bullets { font-family: var(--serif); font-size: 0.9rem; line-height: 1.5; color: var(--ink-soft); margin: 0 0 0.5rem; padding-left: 1.1rem; }
.ch-speakers { font-family: var(--sans); font-size: 0.78rem; color: var(--ink-muted); margin: 0 0 0.35rem; }
.ch-bills { font-family: var(--sans); font-size: 0.82rem; margin: 0; }
.ch-bills a { color: var(--accent-deep); font-weight: 600; text-decoration: none; margin-right: 0.5rem; }
.ch-bills a:hover { text-decoration: underline; }

.ch-publicfold { border-top: 1px solid var(--rule-soft); }
.ch-publicfold > summary {
  font-family: var(--sans); font-size: 0.82rem; font-weight: 600; color: var(--ink-muted);
  cursor: pointer; padding: 0.6rem 0;
}

@media (max-width: 560px) {
  .meeting-title { font-size: 1.5rem; }
  .ch-summary { flex-direction: column; gap: 0.15rem; }
  .ch-cat { min-width: 0; }
  .ch-body { padding-left: 0; }
}
