/* Shared presentation layer for 时光笺. It changes no timeline behaviour. */
.timeline-page, .timeline-stage-page, .timeline-point-page {
  --timeline-ink: var(--lab-ink, #202635);
  --timeline-muted: var(--lab-muted, #6c7484);
  --timeline-line: var(--lab-line, #e5e8ef);
  --timeline-accent: var(--lab-accent, #4257c8);
  color: var(--timeline-ink);
}
.timeline-page h3, .timeline-page h5, .timeline-page h6 { color: var(--timeline-ink); }
.timeline-panel, .timeline-stage-panel, .timeline-point-panel {
  display: block;
  border: 1px solid var(--timeline-line) !important;
  border-radius: var(--lab-radius-md, 18px) !important;
  background: #fff;
  box-shadow: 0 8px 22px rgba(32, 38, 53, .045) !important;
}
.timeline-page-header { padding-bottom: .85rem; border-bottom: 1px solid var(--timeline-line) !important; }
.timeline-icon-button, .timeline-secondary-button, .timeline-edit-button {
  border-color: var(--timeline-line) !important;
  border-radius: 10px !important;
  color: var(--timeline-muted) !important;
}
.timeline-primary-button, .timeline-stage-action, .timeline-point-action {
  border-color: var(--timeline-accent) !important;
  border-radius: 10px !important;
  background: var(--timeline-accent) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.timeline-primary-button:hover, .timeline-stage-action:hover, .timeline-point-action:hover {
  border-color: #3449bb !important;
  background: #3449bb !important;
  color: #fff !important;
}
.timeline-summary .border-end { border-color: var(--timeline-line) !important; }
.timeline-meta, .timeline-record-meta { color: var(--timeline-muted) !important; }
.timeline-group-icon, .timeline-date { border-color: var(--timeline-line) !important; border-radius: 10px !important; background: #f8f9fc !important; }
.group-card, .timeline-record-card, .timeline-stage-record { transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease; }
.group-card:hover, .timeline-record-card:hover, .timeline-stage-record:hover { transform: translateY(-1px); background: #fbfcff !important; box-shadow: var(--lab-shadow, 0 12px 30px rgba(32, 38, 53, .08)) !important; }
.timeline-narrative { padding: 1.15rem !important; }.timeline-narrative-empty { border-color: #aab5e9 !important; border-radius: var(--lab-radius-md, 18px) !important; color: var(--timeline-accent) !important; background: #f8f9ff !important; }.timeline-narrative .wr-preview, .timeline-narrative .wr-action { color: var(--timeline-muted) !important; }
.timeline-modal { border-color: var(--timeline-line) !important; border-radius: var(--lab-radius-md, 18px) !important; }.timeline-modal .modal-header { border-color: var(--timeline-line) !important; }
.timeline-page .form-control:focus, .timeline-stage-page .form-control:focus, .timeline-point-page .form-control:focus { border-color: #aab5e9; box-shadow: 0 0 0 .2rem rgba(66, 87, 200, .12); }
.timeline-stage-page { max-width: 760px; }.timeline-stage-page .stage-highlight { border-left-color: var(--timeline-accent) !important; }.timeline-stage-page .stage-analysis-block { border-left-color: #aab5e9 !important; }.timeline-point-page { max-width: 760px; margin: 0 auto; }.timeline-point-page h3 { color: var(--timeline-ink) !important; }
