.changelog-container{max-width:800px;margin:0 auto;padding:40px 20px 80px}.changelog-header{text-align:center;margin-bottom:60px}.changelog-header h1{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:16px;font-size:2.5rem;font-weight:800}.changelog-header p{color:var(--text-muted);font-size:1.1rem}.timeline{padding-left:30px;position:relative}.timeline:before{content:"";background:var(--border-color);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:11px}.timeline-item{margin-bottom:40px;position:relative}.timeline-dot{background:var(--bg-primary);border:4px solid var(--primary-color);z-index:1;width:24px;height:24px;box-shadow:0 0 0 4px var(--bg-primary);border-radius:50%;position:absolute;left:-30px}.timeline-date{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:600;display:flex}.version-badge{color:var(--primary-color);background:#ec48991a;border-radius:12px;padding:2px 8px;font-size:.8rem;font-weight:700}.timeline-content{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;padding:24px}.timeline-content h3{color:var(--text-primary);margin:0 0 16px;font-size:1.3rem}.update-list{margin:0;padding:0;list-style:none}.update-item{margin-bottom:16px;line-height:1.6}.update-item:last-child{margin-bottom:0}.update-tag{vertical-align:middle;border-radius:6px;margin-right:8px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.tag-feature{color:#10b981;background:#10b98126}.tag-optimize{color:#3b82f6;background:#3b82f626}.tag-fix{color:#f59e0b;background:#f59e0b26}.update-desc{color:var(--text-secondary);vertical-align:middle;display:inline}.update-desc strong{color:var(--text-primary)}.timeline-image{border:1px solid var(--border-color);border-radius:8px;margin-top:16px;overflow:hidden}.timeline-image img{width:100%;height:auto;display:block}@media (width<=768px){.timeline{padding-left:20px}.timeline:before{left:7px}.timeline-dot{border-width:3px;width:16px;height:16px;left:-20px}.timeline-content{padding:16px}}
