/**
 * Bricks 时光轴 - 左侧日期 + 竖线圆点 + 右侧标题与正文
 * 轴线与圆点用固定偏移绝对定位，保证所有行对齐、轴线连续；日期列固定宽度可换行，避免重叠
 */
.ma-timeline {
	--ma-tl-offset: 9rem; /* 轴线/圆点水平位置；日期列同宽，留足避免与内容重叠 */
	position: relative;
	padding: 0;
	list-style: none;
	margin: 0;
	max-width: 100%;
}

/* 整条竖线：固定位置，连续不断开 */
.ma-timeline__line {
	position: absolute;
	left: var(--ma-tl-offset);
	top: 0.6rem;
	bottom: 0.6rem;
	width: 1px;
	background: var(--ma-tl-line, #e5e7eb);
}

.ma-timeline__item {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0;
	padding-bottom: 2rem;
}

.ma-timeline__item:last-child {
	padding-bottom: 0;
}

/* 左侧日期列：固定宽度，右对齐，日期在框内换行且不溢出 */
.ma-timeline__left {
	flex: 0 0 var(--ma-tl-offset);
	width: var(--ma-tl-offset);
	min-width: var(--ma-tl-offset);
	max-width: var(--ma-tl-offset);
	padding-right: 1rem;
	text-align: right;
	box-sizing: border-box;
	overflow: hidden;
}

.ma-timeline__date {
	display: block;
	font-size: 0.8125rem;
	color: var(--ma-tl-date-color, #9ca3af);
	line-height: 1.4;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: break-word;
	max-width: 100%;
}

/* 圆点：绝对定位不占流，与轴线同一水平位置；不参与 flex 占位避免把内容挤重叠 */
.ma-timeline__dot {
	position: absolute;
	left: var(--ma-tl-offset);
	top: 0.4rem;
	width: 8px;
	height: 8px;
	margin-left: -4px;
	border-radius: 50%;
	background: var(--ma-tl-dot, #9ca3af);
	pointer-events: none;
	flex: 0 0 0;
	min-width: 0;
	overflow: visible;
}

/* 右侧内容区：必须从轴线右侧开始，留足间距 */
.ma-timeline__content {
	flex: 1 1 0%;
	min-width: 0;
	margin-left: 0;
	padding-left: 1.5rem;
}

.ma-timeline__title {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	margin: 0 0 0.35em 0;
	color: var(--ma-tl-title-color, inherit);
}

.ma-timeline__title a {
	color: inherit;
	text-decoration: none;
}

.ma-timeline__title a:hover {
	color: var(--ma-tl-title-hover, inherit);
	text-decoration: underline;
}

.ma-timeline__body {
	font-size: 0.875rem;
	line-height: 1.65;
	color: var(--ma-tl-body-color, #6b7280);
	margin: 0;
}

.ma-timeline__body p:first-child {
	margin-top: 0;
}

.ma-timeline__body p:last-child {
	margin-bottom: 0;
}

.ma-timeline__empty {
	padding: 1.5rem 0;
	color: var(--ma-tl-body-color, #9ca3af);
	font-size: 0.875rem;
}
