[data-demo="timeline"] .tl-head { margin: 0 0 14px; font-size: 14px; color: var(--ink-2); }
.tl, .tl-branches { list-style: none; margin: 0; padding: 0; }
.tl { position: relative; display: grid; gap: 0; }
.tl-item { border-left: 2px solid var(--rule); padding: 6px 0 6px 14px; min-width: 0; }
.tl-point {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; width: 100%; text-align: left;
  background: var(--paper); color: var(--ink); border: 1px solid var(--rule); border-radius: 10px;
  min-height: 44px; padding: 10px 12px; font: inherit; cursor: pointer; transition: border-color .2s;
}
.tl-point:hover { border-color: var(--ink-3); background: var(--paper-2); }
.tl-point[aria-expanded="true"] { border-color: var(--ink); }
.tl-point:active { transform: translateY(1px); }
.tl-date { font-size: 13px; color: var(--ink-2); }
.tl-src { font-size: 13px; color: var(--ink-3); overflow-wrap: anywhere; }
.tl-detail { margin: 8px 0 4px; padding: 12px 14px; background: var(--paper-2); border-radius: 10px; }
.tl-ex { margin: 10px 0 0; line-height: 2; font-size: 15px; color: var(--ink-2); }
.tl-ex mark { padding: 1px 3px; border-radius: 3px; }
.tl-gap {
  height: var(--len); min-height: 28px; margin-left: 0; border-left: 2px dashed var(--ink-3);
  display: flex; align-items: center; padding-left: 14px;
}
.tl-gap span { font: 12.5px var(--mono); color: var(--ink-3); }
.tl-fork { border-left: 2px solid var(--broken); padding: 8px 0 8px 14px; }
.tl-fork-note { margin: 0 0 8px; font-size: 13px; color: var(--broken); }
.tl-branches { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.tl-branches .tl-item { border-left: 0; padding: 0; }
.tl-ex mark { unicode-bidi: isolate; }
