.mod-history { max-width: 700px; margin: 0 auto; padding: 40px 20px; }
.mod-history__title { text-align: center; color: var(--color-dark, var(--dark, #111)); margin-bottom: 24px; }
.mod-history__timeline { position: relative; padding-left: 20px; border-left: 2px solid #eee; }
.mod-history__item { padding-bottom: 24px; position: relative; }
.mod-history__item::before { content: ''; position: absolute; left: -25px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--color-primary, var(--primary, #2563eb)); }
.mod-history__year { font-weight: 800; color: var(--color-primary, var(--primary, #2563eb)); }
.mod-history__event { color: #444; margin-top: 4px; }

/* ===== history02: 之字形卡片时间轴 ===== */
.mod-history--v2 { max-width: 900px; }
.mod-history__title-v2 { text-align: center; font-size: 28px; font-weight: 700; margin: 0 0 40px; color: var(--color-dark, var(--dark, #111)); }
.mod-history__zigzag { position: relative; padding: 20px 0; }
.mod-history__zigzag::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: #e5e5e5; transform: translateX(-50%); }
.mod-history__zigzag-row { position: relative; display: flex; margin-bottom: 32px; }
.mod-history__zigzag-row.is-left { justify-content: flex-start; }
.mod-history__zigzag-row.is-right { justify-content: flex-end; }
.mod-history__zigzag-card { width: calc(50% - 30px); background: var(--color-surface, #fff); border-radius: var(--radius-base, 10px); box-shadow: var(--shadow-base, 0 2px 10px rgba(0,0,0,.06)); padding: 16px 20px; }
.mod-history__zigzag-year { font-weight: 800; color: var(--color-primary, var(--primary, #2563eb)); font-size: 18px; }
.mod-history__zigzag-event { color: #444; margin-top: 6px; font-size: 14px; }
.mod-history__zigzag-dot { position: absolute; top: 20px; left: 50%; width: 12px; height: 12px; border-radius: 50%; background: var(--color-primary, var(--primary, #2563eb)); transform: translate(-50%, -50%); border: 3px solid #fff; box-shadow: 0 0 0 2px #e5e5e5; }
@media (max-width: 768px) {
    .mod-history__zigzag::before { left: 10px; }
    .mod-history__zigzag-row.is-left, .mod-history__zigzag-row.is-right { justify-content: flex-start; padding-left: 30px; }
    .mod-history__zigzag-card { width: 100%; }
    .mod-history__zigzag-dot { left: 10px; }
}

/* ===== history03: 横向可滚动时间轴 ===== */
.mod-history--v3 { max-width: 1100px; }
.mod-history__scroll-wrap { position: relative; }
.mod-history__scroll { overflow-x: auto; padding-bottom: 16px; scrollbar-width: none; }
.mod-history__scroll::-webkit-scrollbar { display: none; }
.mod-history__nav-btn {
    display: flex; position: absolute; top: 40%; transform: translateY(-50%);
    width: 36px; height: 36px; border-radius: 50%; border: none;
    background: var(--color-surface, #fff); color: var(--color-dark, var(--dark, #111));
    box-shadow: var(--shadow-base, 0 2px 8px rgba(0,0,0,.15));
    align-items: center; justify-content: center; cursor: pointer; z-index: 5;
}
.mod-history__nav-btn--prev { left: -4px; }
.mod-history__nav-btn--next { right: -4px; }
.mod-history__scroll-track { display: flex; position: relative; min-width: min-content; padding-top: 20px; }
.mod-history__scroll-track::before { content: ''; position: absolute; left: 0; right: 0; top: 26px; height: 2px; background: #e5e5e5; }
.mod-history__scroll-item { flex: 0 0 200px; padding: 0 16px; position: relative; }
.mod-history__scroll-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--color-primary, var(--primary, #2563eb)); margin: 0 auto 16px; position: relative; z-index: 1; border: 3px solid #fff; box-shadow: 0 0 0 2px #e5e5e5; }
.mod-history__scroll-year { text-align: center; font-weight: 800; color: var(--color-primary, var(--primary, #2563eb)); font-size: 16px; }
.mod-history__scroll-event { text-align: center; color: #555; font-size: 13px; margin-top: 6px; }
@media (max-width: 768px) { .mod-history__scroll-item { flex: 0 0 160px; } }