.timeline-toolbar{margin:20px 0 24px;padding:14px 20px;background:var(--surface-color-secondary,#f5f2ef);border-radius:var(--radius-xl,16px);display:flex;flex-wrap:wrap;align-items:center;gap:16px;border:1px solid var(--border-color,#e8e2db)}.timeline-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1}.timeline-toolbar-left label{font-weight:600;color:var(--accent-color,#b45b63);white-space:nowrap;font-size:0.95rem}#timeline-year-filter{padding:8px 16px;border:1px solid var(--border-color,#e8e2db);border-radius:var(--radius-full,30px);font-family:var(--font-family,inherit);font-size:0.95rem;background:var(--surface-color,#fff);color:var(--text-color,#2c2c2c);cursor:pointer;transition:all 0.2s;min-width:140px}#timeline-year-filter:focus{outline:none;border-color:var(--accent-color,#b45b63);box-shadow:0 0 0 3px rgba(180,91,99,0.15)}#timeline-year-filter:hover{background:var(--surface-color-secondary,#f5f2ef)}.btn-secondary{padding:8px 20px;border:1px solid var(--border-color,#e8e2db);border-radius:var(--radius-full,30px);background:var(--surface-color,#fff);color:var(--text-color,#2c2c2c);font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.2s;font-family:inherit}.btn-secondary:hover{background:var(--accent-color,#b45b63);color:#fff;border-color:var(--accent-color);transform:translateY(-2px)}.filter-separator{color:var(--border-color,#e8e2db);margin:0 6px}.type-filter-group{display:flex;gap:12px;align-items:center;font-size:0.9rem}.type-filter-group label{display:flex;align-items:center;gap:4px;cursor:pointer;color:var(--text-secondary,#6b6b6b)}.type-filter-group input[type="checkbox"]{accent-color:var(--accent-color,#b45b63);width:16px;height:16px;cursor:pointer}.timeline-toolbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#timeline-search{padding:8px 16px;border:1px solid var(--border-color,#e8e2db);border-radius:var(--radius-full,30px);font-family:var(--font-family,inherit);font-size:0.9rem;background:var(--surface-color,#fff);color:var(--text-color,#2c2c2c);min-width:180px;transition:all 0.2s}#timeline-search:focus{outline:none;border-color:var(--accent-color,#b45b63);box-shadow:0 0 0 3px rgba(180,91,99,0.15)}.timeline-summary{margin:16px 0 28px;padding:16px 24px;background:var(--surface-color,#fff);border-radius:var(--radius-lg,12px);border:1px solid var(--border-color,#e8e2db);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:16px;font-size:0.95rem;color:var(--text-secondary,#6b6b6b);box-shadow:var(--shadow-sm,0 2px 4px rgba(0,0,0,0.04))}.timeline-summary i{color:var(--accent-color,#b45b63);margin-right:6px}.timeline-summary strong{color:var(--accent-color,#b45b63);font-weight:700}.year-capsules-wrapper{margin:4px 0 20px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.year-capsule{background:var(--tag-bg,#f0ebe5);border:1px solid var(--border-color,#e8e2db);border-radius:40px;padding:6px 18px;font-size:0.85rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;color:var(--text-secondary,#6b6b6b);font-family:inherit}.year-capsule:hover{background:var(--accent-color,#b45b63);color:#fff;transform:translateY(-2px);border-color:var(--accent-color)}.year-capsule.active{background:var(--accent-color,#b45b63);color:#fff;border-color:var(--accent-color);box-shadow:0 2px 8px rgba(180,91,99,0.3)}.timeline-container{margin-top:8px}.timeline{display:flex;flex-direction:column;gap:40px}.timeline-year{position:relative}.timeline-year-title{display:inline-flex;align-items:baseline;gap:12px;font-family:var(--font-serif,serif);font-size:var(--font-size-h2,1.8rem);color:var(--accent-color,#b45b63);border-bottom:2px solid var(--border-color,#e8e2db);padding-bottom:6px;margin-bottom:var(--spacing-lg,24px)}.year-count{font-size:var(--font-size-small,0.85rem);background:var(--tag-bg,#f0ebe5);padding:2px 12px;border-radius:var(--radius-full,30px);color:var(--text-secondary,#6b6b6b);font-weight:500}.timeline-month{margin-bottom:var(--spacing-md,16px)}.timeline-month-title{font-size:var(--font-size-h4,1.1rem);color:var(--text-secondary,#6b6b6b);margin-bottom:var(--spacing-sm,8px);font-weight:600;padding-left:4px}.timeline-list{display:flex;flex-direction:column;gap:14px;padding-left:20px;border-left:2px solid var(--border-light,#e0d8d0);margin-left:8px}.day-card{position:relative;background:var(--surface-color,#fff);border:1px solid var(--border-color,#e8e2db);border-radius:var(--radius-lg,12px);padding:14px 18px 16px;transition:border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}.day-card:hover{border-color:var(--card-border-hover,var(--accent-color));box-shadow:var(--shadow-sm,0 2px 8px rgba(0,0,0,0.05));transform:translateX(4px)}.day-card::before{content:'';position:absolute;left:-26px;top:24px;width:12px;height:12px;background:var(--bg-color,#faf8f5);border:2px solid var(--accent-color,#b45b63);border-radius:50%;transition:all 0.2s;z-index:1}.day-card:hover::before{background:var(--accent-color,#b45b63);box-shadow:0 0 0 4px rgba(180,91,99,0.15)}.day-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:12px;border-bottom:1px dashed var(--border-light,#edebe5)}.day-card-date{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono,monospace);font-size:0.92rem;font-weight:600;color:var(--accent-color,#b45b63);letter-spacing:0.02em}.day-card-date i{font-size:0.8rem;opacity:0.85}.day-card-count{font-size:0.72rem;padding:2px 10px;border-radius:var(--radius-full,30px);background:var(--tag-bg,#f0ebe5);color:var(--text-secondary,#6b6b6b);border:1px solid var(--border-color,#e8e2db);white-space:nowrap}.day-card-items{display:flex;flex-direction:column;gap:8px}.day-subcard{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--radius-md,10px);background:var(--surface-color-secondary,#f7f6f3);border:1px solid var(--border-color,#e8e2db);color:var(--text-color,#2c2c2c);text-decoration:none;transition:all 0.2s ease}.day-subcard::after{display:none}.day-subcard:hover{color:var(--text-color,#2c2c2c);background:var(--surface-color,#fff);border-color:var(--accent-color,#b45b63);transform:translateX(4px);box-shadow:var(--shadow-sm,0 2px 8px rgba(0,0,0,0.05))}.day-subcard-badge{flex-shrink:0;padding:2px 10px;border-radius:var(--radius-full,30px);font-size:0.68rem;font-weight:600;line-height:1.7;border:1px solid transparent;white-space:nowrap;margin-top:1px}.day-subcard-badge.article-badge{background:rgba(180,91,99,0.12);color:var(--accent-color,#b45b63);border-color:rgba(180,91,99,0.25)}.day-subcard-badge.work-badge{background:rgba(78,168,255,0.15);color:#4ea8ff;border-color:rgba(78,168,255,0.3)}.day-subcard-main{flex:1;min-width:0}.day-subcard-title{margin:0;font-family:var(--font-display,inherit);font-size:1rem;font-weight:600;line-height:1.4;color:var(--text-color,#2c2c2c);transition:color 0.2s}.day-subcard:hover .day-subcard-title{color:var(--accent-color,#b45b63)}.day-subcard-desc{margin:3px 0 0;font-size:0.85rem;line-height:1.55;color:var(--text-secondary,#6b6b6b)}.day-subcard-tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.day-subcard-tags .tag{font-size:0.68rem;padding:2px 9px}.day-subcard-arrow{flex-shrink:0;align-self:center;font-size:0.7rem;color:var(--text-secondary,#6b6b6b);opacity:0.4;transition:transform 0.2s ease,opacity 0.2s ease,color 0.2s ease}.day-subcard:hover .day-subcard-arrow{opacity:1;color:var(--accent-color,#b45b63);transform:translateX(3px)}.day-card-versions{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border-color,#e8e2db)}.day-card-versions:first-child{margin-top:0}.version-capsules-row{display:flex;flex-wrap:wrap;gap:8px}.version-capsule{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:var(--radius-full,30px);background:rgba(255,152,0,0.08);border:1px solid rgba(255,152,0,0.3);color:#c47b00;font-size:0.8rem;font-weight:600;font-family:var(--font-mono,monospace);cursor:pointer;transition:all 0.2s ease;line-height:1.5}.version-capsule:hover{background:rgba(255,152,0,0.18);border-color:#ff9800;transform:translateY(-2px)}.version-capsule.expanded{background:rgba(255,152,0,0.2);border-color:#ff9800;color:#b06e00;box-shadow:0 0 0 3px rgba(255,152,0,0.14)}.version-capsule-dot{width:6px;height:6px;border-radius:50%;background:#ff9800;flex-shrink:0;transition:transform 0.2s ease}.version-capsule.expanded .version-capsule-dot{transform:scale(1.4)}.version-capsule-num{letter-spacing:0.01em}.version-capsule-count{font-size:0.68rem;font-family:var(--font-sans,inherit);padding:0 7px;border-radius:var(--radius-full,30px);background:rgba(255,152,0,0.16);color:inherit;line-height:1.7}.version-details-container{display:block}.version-detail-content{margin-top:12px;padding:12px 16px;background:var(--surface-color-secondary,#f5f2ef);border-radius:var(--radius-md,8px);border:1px solid var(--border-color,#e8e2db);display:flex;flex-direction:column;gap:8px;animation:versionDetailIn 0.24s ease both}.version-detail-content[hidden]{display:none}@keyframes versionDetailIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.change-item{display:flex;align-items:flex-start;gap:12px;padding:6px 0;border-bottom:1px solid var(--border-light,#e0d8d0);font-size:0.9rem}.change-item:last-child{border-bottom:none;padding-bottom:0}.change-item:first-child{padding-top:0}.change-type{padding:0 10px;border-radius:20px;font-size:0.7rem;font-weight:600;line-height:1.8;text-transform:lowercase;border:1px solid transparent;flex-shrink:0}.change-desc{color:var(--text-color,#2c2c2c);word-break:break-word;flex:1;min-width:0}.change-desc p{margin:0.2rem 0}.change-desc p:first-child{margin-top:0}.change-desc p:last-child{margin-bottom:0}.change-desc ul,.change-desc ol{margin:0.3rem 0 0.3rem 1.5rem}.change-desc code{background:var(--tag-bg,#f0ebe5);padding:0.1rem 0.4rem;border-radius:4px;font-size:0.85em}.change-desc img{max-width:100%;height:auto;border-radius:8px;margin:0.5rem 0}.change-empty{margin:0;font-size:0.85rem;color:var(--text-secondary,#6b6b6b);font-style:italic}.timeline-empty{text-align:center;padding:48px 24px;background:var(--surface-color-secondary,#f5f2ef);border-radius:var(--radius-lg,12px);border:1px dashed var(--border-color,#e8e2db);color:var(--text-secondary,#6b6b6b);font-size:1.05rem}.loading-spinner{text-align:center;padding:48px 20px;color:var(--text-secondary,#6b6b6b)}.loading-spinner .spinner{width:40px;height:40px;border:3px solid var(--border-color,#e8e2db);border-top-color:var(--accent-color,#b45b63);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.timeline-toolbar{flex-direction:column;align-items:stretch;gap:12px}.timeline-toolbar-left{flex-wrap:wrap}#timeline-year-filter{min-width:120px;flex:1}.timeline-summary{flex-direction:column;align-items:flex-start;gap:6px;padding:16px 20px}.timeline-list{padding-left:12px;margin-left:6px;gap:12px}.day-card{padding:12px 14px 14px}.day-card::before{left:-18px;top:20px;width:10px;height:10px}.day-card-header{gap:8px}.day-subcard{padding:9px 12px;gap:10px}.day-subcard-arrow{display:none}.day-subcard-badge{font-size:0.64rem;padding:2px 8px}.day-subcard-title{font-size:0.95rem}.version-detail-content{padding:10px 12px}.change-item{flex-wrap:wrap;gap:4px}}@media (max-width:480px){.timeline-toolbar{padding:12px 16px}.timeline-toolbar-left label{font-size:0.85rem}#timeline-year-filter{font-size:0.85rem;padding:6px 12px;min-width:100px}.btn-secondary{font-size:0.8rem;padding:6px 16px}#timeline-search{font-size:0.85rem;padding:7px 14px;min-width:0;width:100%}.timeline-year-title{font-size:1.4rem}.day-card{padding:10px 12px 12px}.day-card-date{font-size:0.85rem}.day-subcard{flex-wrap:wrap}.day-subcard-badge{order:0}.day-subcard-main{order:1;flex-basis:100%}}[data-theme="dark"] .timeline-toolbar{background:var(--surface-color-secondary,#2a2a33);border-color:var(--border-color,#3f3f4b)}[data-theme="dark"] #timeline-year-filter{background:var(--surface-color,#1e1e26);border-color:var(--border-color,#3f3f4b);color:var(--text-color,#eceef2)}[data-theme="dark"] #timeline-year-filter:focus{box-shadow:0 0 0 3px rgba(180,91,99,0.25)}[data-theme="dark"] .btn-secondary{background:var(--surface-color,#1e1e26);border-color:var(--border-color,#3f3f4b)}[data-theme="dark"] .btn-secondary:hover{background:var(--accent-color,#b45b63);border-color:var(--accent-color);color:#14141a}[data-theme="dark"] .timeline-summary{background:var(--surface-color,#1e1e26)}[data-theme="dark"] .year-capsule{background:var(--tag-bg,#2f2f3a);border-color:var(--border-color,#3f3f4b);color:var(--tag-color,#c0c0c0)}[data-theme="dark"] .year-capsule:hover,[data-theme="dark"] .year-capsule.active{background:var(--accent-color,#b45b63);color:#14141a;border-color:var(--accent-color)}[data-theme="dark"] .day-card{background:var(--surface-color,#1e1e26);border-color:var(--border-color,#3f3f4b)}[data-theme="dark"] .day-card:hover{border-color:var(--accent-color)}[data-theme="dark"] .day-card::before{background:var(--bg-color,#14141a);border-color:var(--accent-color,#b45b63)}[data-theme="dark"] .day-card:hover::before{background:var(--accent-color,#b45b63);box-shadow:0 0 0 4px rgba(180,91,99,0.25)}[data-theme="dark"] .day-card-header{border-bottom-color:var(--border-light,#2a2a33)}[data-theme="dark"] .day-card-count{background:var(--tag-bg,#2f2f3a);border-color:var(--border-color,#3f3f4b)}[data-theme="dark"] .day-subcard{background:var(--surface-color-secondary,#22222c);border-color:var(--border-color,#3f3f4b);color:var(--text-color,#eceef2)}[data-theme="dark"] .day-subcard:hover{background:var(--surface-color,#2a2a33);border-color:var(--accent-color);color:var(--text-color,#eceef2)}[data-theme="dark"] .day-subcard-title{color:var(--text-color,#eceef2)}[data-theme="dark"] .day-subcard:hover .day-subcard-title{color:var(--accent-color)}[data-theme="dark"] .day-card-versions{border-top-color:var(--border-color,#3f3f4b)}[data-theme="dark"] .version-capsule{background:rgba(255,152,0,0.12);border-color:rgba(255,152,0,0.3);color:#ffb74d}[data-theme="dark"] .version-capsule:hover{background:rgba(255,152,0,0.25)}[data-theme="dark"] .version-capsule.expanded{background:rgba(255,152,0,0.25);border-color:#ff9800;color:#ffcc80;box-shadow:0 0 0 3px rgba(255,152,0,0.16)}[data-theme="dark"] .version-capsule-count{background:rgba(255,152,0,0.22)}[data-theme="dark"] .version-detail-content{background:var(--surface-color-secondary,#2a2a33);border-color:var(--border-color,#3f3f4b)}[data-theme="dark"] .change-item{border-bottom-color:var(--border-light,#3a3a47)}[data-theme="dark"] .change-desc{color:var(--text-color,#eceef2)}