    .timeline-group { margin-bottom: 24px; position: relative; }
    .timeline-date {
        font-size: 13px;
        font-weight: 700;
        color: var(--accent);
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .timeline-date::before {
        content: '';
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: var(--accent);
        box-shadow: 0 0 0 4px rgba(33,110,78,.12);
    }
    .timeline-item {
        background: var(--event-bg, rgba(255,255,255,.96));
        border-radius: var(--radius);
        padding: 14px 16px;
        margin-bottom: 9px;
        border: 1px solid var(--line);
        border-left: 4px solid var(--event-border, #bac8be);
        box-shadow: 0 8px 22px rgba(35,60,45,.05);
        cursor: pointer;
        transition: .18s ease;
        color: var(--event-ink, var(--text));
    }
    .timeline-item:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(35,60,45,.09); border-color: #ccd8d0; }
    .item-type {
        display: inline-flex;
        align-items: center;
        min-height: 22px;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 12px;
        background: var(--event-border, #718096);
        color: #fff;
        margin-right: 8px;
        font-weight: 800;
        vertical-align: middle;
    }
    .type-日记, .type-日计划 { background: #2f80ed; border-left-color: #2f80ed; }
    .type-工作记录 { background: #0f766e; border-left-color: #0f766e; }
    .type-灵感碎片 { background: #e0a018; color: #1f1a10; border-left-color: #e0a018; }
    .type-周复盘, .type-月复盘, .type-年复盘 { background: #7a5ac8; border-left-color: #7a5ac8; }
    .type-周计划, .type-月计划, .type-年度计划, .type-3年计划 { background: #216e4e; border-left-color: #216e4e; }
    .type-终身愿景 { background: #c45532; border-left-color: #c45532; }
    .type-习惯打卡-全天 { background: #718096; border-left-color: #718096; }
    .type-习惯打卡-晨间 { background: #d97706; border-left-color: #d97706; }
    .type-习惯打卡-午间 { background: #ca8a04; border-left-color: #ca8a04; }
    .type-习惯打卡-晚间, .type-习惯打卡-学习 { background: #7a5ac8; border-left-color: #7a5ac8; }
    .type-习惯打卡-运动 { background: #2f80ed; border-left-color: #2f80ed; }
    .type-习惯打卡-工作 { background: #b97706; border-left-color: #b97706; }
    .type-习惯打卡-生活 { background: #216e4e; border-left-color: #216e4e; }
    .timeline-item[class*="type-"] {
        background: var(--event-bg, rgba(255,255,255,.96));
        color: var(--text);
    }
    .timeline-item[class*="type-"] .item-title { color: var(--text); }
    .timeline-item[class*="type-"] .item-preview { color: var(--muted); }
    .timeline-item[class*="type-"] .item-meta { color: var(--faint); }
    .type-待办 { background: #d87863; border-left-color: #d87863; }
    .type-待办计划, .type-待办截止, .type-待办执行 { background: #d87863; border-left-color: #d87863; }
    .timeline-item.type-待办,
    .timeline-item.type-待办计划,
    .timeline-item.type-待办截止,
    .timeline-item.type-待办执行 {
        background: var(--event-bg, rgba(255,255,255,.96));
        border-left-color: var(--event-border, #d87863);
    }
    .type-习惯 { background: #4f8b67; border-left-color: #4f8b67; }
    .item-title { font-size: 15px; font-weight: 800; display: inline; color: var(--text); }
    .item-meta { font-size: 12px; color: var(--faint); margin-top: 7px; display: flex; gap: 14px; flex-wrap: wrap; }
    .item-preview { font-size: 13px; color: var(--muted); margin-top: 8px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .record-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: stretch; margin-bottom: 9px; }
    .record-time {
        color: #41554b;
        font-size: 13px;
        font-weight: 700;
        padding: 14px 10px 0 0;
        text-align: right;
        font-variant-numeric: tabular-nums;
        border-right: 2px solid #d6e1da;
        background: linear-gradient(180deg, rgba(242,247,244,.92), rgba(242,247,244,0));
        border-radius: 12px 0 0 12px;
    }
    .record-row .timeline-item { margin-bottom: 0; }
