.date-timeline{--dt-border:var(--dt-border-light,#d71920);--dt-vertical:var(--dt-vertical-light,#d71920);--dt-horizontal:var(--dt-horizontal-light,#d71920);--dt-dot:var(--dt-dot-light,#d71920);margin-block:1rem;min-width:0}
html[data-bs-theme="dark"] .date-timeline{--dt-border:var(--dt-border-dark,#ff6670);--dt-vertical:var(--dt-vertical-dark,#ff6670);--dt-horizontal:var(--dt-horizontal-dark,#ff6670);--dt-dot:var(--dt-dot-dark,#ff6670)}
.date-timeline__tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.date-timeline__tools button{border:1px solid var(--bs-border-color,#888);border-radius:.4rem;background:var(--bs-tertiary-bg,#eee);color:inherit;padding:.4rem .8rem;min-height:42px}.date-timeline__help{font-size:.85rem;margin:.6rem 0}.date-timeline__viewport{overflow:auto;max-height:580px;cursor:grab;touch-action:pan-y;border:1px solid var(--bs-border-color,#888);border-radius:.6rem;position:relative}.date-timeline__viewport.is-dragging{cursor:grabbing;user-select:none}.date-timeline__canvas{position:relative;min-height:220px}.date-timeline__axis{position:absolute;left:0;right:0;bottom:44px;height:5px;background:var(--dt-horizontal)}.date-timeline__event{position:absolute;bottom:46px;width:0;height:0}.date-timeline__photo{position:absolute;bottom:var(--dt-rise);left:-46px;width:92px;height:92px;border:5px solid var(--dt-border);border-radius:50%;padding:0;overflow:hidden;background:var(--bs-body-bg,#fff);color:inherit;z-index:2;cursor:pointer}.date-timeline__photo img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.date-timeline__photo:focus-visible{outline:3px solid var(--bs-primary,#1686ff);outline-offset:4px}.date-timeline__stem{position:absolute;bottom:0;left:-2px;width:4px;height:var(--dt-rise);background:var(--dt-vertical);pointer-events:none}.date-timeline__dot{position:absolute;bottom:-8px;left:-9px;width:18px;height:18px;border-radius:50%;background:var(--dt-dot)}.date-timeline__tick{position:absolute;bottom:8px;transform:translateX(-50%);font-size:.8rem;white-space:nowrap}.date-timeline__tick:before{content:"";position:absolute;bottom:26px;height:10px;width:1px;background:var(--dt-horizontal);left:50%}.date-timeline__dialog [data-dt-close]{float:right;background:transparent;border:0;color:inherit;font-size:1.5rem}@media(max-width:600px){.date-timeline__viewport{max-height:440px}}

.date-timeline__badge{position:absolute;bottom:calc(var(--dt-rise) + 100px);left:0;transform:translateX(-50%);width:max-content;max-width:220px;box-sizing:border-box;padding:3px 7px;border:1px solid var(--dt-badge-border);border-radius:4px;background:var(--dt-badge-background);color:var(--dt-badge-text);font-size:.82rem;line-height:1.25;text-align:center;overflow-wrap:anywhere;z-index:3;cursor:pointer}
.date-timeline{--dt-badge-background:var(--dt-badge_colors-background-light,var(--dt-border));--dt-badge-text:var(--dt-badge_colors-text-light,#ffffff);--dt-badge-border:var(--dt-badge_colors-border-light,var(--dt-border));}
.date-timeline .date-timeline__dialog{--clarification-background:var(--dt-event_colors-background-light,var(--bs-body-bg,#fff));--clarification-text:var(--dt-event_colors-text-light,var(--bs-body-color,#222));--clarification-border:var(--dt-event_colors-border-light,var(--bs-border-color,#888));--clarification-backdrop:var(--dt-event_colors-backdrop-light,#0007);}
html[data-bs-theme="dark"] .date-timeline{--dt-badge-background:var(--dt-badge_colors-background-dark,var(--dt-border));--dt-badge-text:var(--dt-badge_colors-text-dark,#ffffff);--dt-badge-border:var(--dt-badge_colors-border-dark,var(--dt-border));}
html[data-bs-theme="dark"] .date-timeline .date-timeline__dialog{--clarification-background:var(--dt-event_colors-background-dark,var(--bs-body-bg,#fff));--clarification-text:var(--dt-event_colors-text-dark,var(--bs-body-color,#222));--clarification-border:var(--dt-event_colors-border-dark,var(--bs-border-color,#888));--clarification-backdrop:var(--dt-event_colors-backdrop-dark,#0007);}

.date-timeline__badge:focus-visible{outline:3px solid var(--bs-primary,#1686ff);outline-offset:3px}

.date-timeline__photo{width:var(--dt-photo-size,92px);height:var(--dt-photo-size,92px);left:calc(var(--dt-photo-size,92px) / -2)}.date-timeline__badge{bottom:calc(var(--dt-rise) + var(--dt-photo-size,92px) + 8px)}.date-timeline__event.is-selected .date-timeline__dot{background:#ff0000;box-shadow:0 0 0 3px var(--bs-body-bg,#fff),0 0 0 5px #ff0000}.date-timeline__tools button:disabled{opacity:.45;cursor:default}

.date-timeline__event.is-selected .date-timeline__stem{background:#ff0000}.date-timeline__event.is-selected .date-timeline__photo{border-color:#ff0000}

/* Keep the wide date canvas inside its own scroller, including details/flex/grid parents. */
.date-timeline-card,
.date-timeline-card > .card-body,
.date-timeline,
.date-timeline__viewport {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.date-timeline-card,
.date-timeline {
  width: 100%;
  contain: inline-size;
}
.date-timeline__viewport { width: 100%; }
.date-timeline__tools > [data-dt-status] { min-width: 0; overflow-wrap: anywhere; }
