/* ═══════════════════════════════════════════
   III·b — FULL CONVERSATION ARCHIVE
   (lives inside Chapter III, reuses .fragment-card
   / .msg-line / .msg-who / .msg-bubble exactly)
═══════════════════════════════════════════ */

.lore-archive-header {
  margin: 56px 0 28px; padding-top: 32px;
  border-top: 1px dashed var(--paper-aged);
}
.lore-archive-eyebrow {
  font-family: 'Special Elite', monospace; font-size: 10px; letter-spacing: 3px;
  text-transform: uppercase; color: var(--ink-muted); margin-bottom: 8px;
}
.lore-archive-sub {
  font-family: 'Caveat', cursive; font-size: 17px; color: var(--ink-faded);
}

.lore-archive { display: flex; flex-direction: column; gap: 36px; }

.lore-section { display: flex; flex-direction: column; gap: 16px; }

.lore-section-title {
  display: flex; align-items: baseline; gap: 10px;
  font-family: 'IM Fell English', serif; font-style: italic;
  font-size: clamp(18px,3vw,22px); color: var(--ink);
  padding-bottom: 10px; border-bottom: 1px solid var(--paper-aged);
}
.lore-section-count {
  font-family: 'Special Elite', monospace; font-size: 9px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--ink-muted); font-style: normal;
}

.lore-section-convos { display: flex; flex-direction: column; gap: 14px; }

/* ---- individual conversation (fragment-card, but collapsible) ---- */
.lore-convo { cursor: default; }
.lore-convo > summary {
  list-style: none; cursor: pointer; user-select: none; display: block;
}
.lore-convo > summary::-webkit-details-marker { display: none; }

.lore-convo .fragment-time-bar { display: flex; }
.lore-convo-arrow {
  font-family: 'Special Elite', monospace; font-size: 12px; color: var(--ink-mid);
  transition: transform 0.3s ease; margin-left: auto; flex-shrink: 0;
}
.lore-convo[open] .lore-convo-arrow { transform: rotate(90deg); }

.lore-convo .lore-preview,
.lore-convo .lore-full { padding: 24px 20px; display: flex; flex-direction: column; gap: 10px; }

.lore-convo[open] .lore-preview { display: none; }
.lore-convo:not([open]) .lore-full { display: none; }

.lore-hint {
  text-align: center; margin-top: 4px;
  font-family: 'Special Elite', monospace; font-size: 9px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ink-muted); opacity: 0.6;
}

/* divider for mid-conversation date/system-message jumps */
.lore-divider {
  text-align: center; margin: 4px 0;
  font-family: 'Special Elite', monospace; font-size: 9px; letter-spacing: 2px;
  color: var(--ink-muted); text-transform: uppercase; opacity: 0.7;
  border-top: 1px dashed var(--paper-aged); border-bottom: 1px dashed var(--paper-aged);
  padding: 8px;
}

/* gentle reveal as the archive scrolls into view */
.lore-convo {
  opacity: 0; transform: translateY(14px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.lore-convo.lore-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 640px) {
  .lore-convo .lore-preview, .lore-convo .lore-full { padding: 18px 16px; }
}
