.timeline-page{min-height:calc(100vh - 200px)}.timeline-title{font-size:clamp(34px,4.8vw,56px)!important}.timeline-overview{margin-top:32px}.timeline-actions{margin-top:22px}.timeline-years,.timeline-events-wrap{margin-top:58px}.timeline-section-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;padding-bottom:14px;display:flex}.timeline-section-head h2{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--t1);margin:0;font-size:13px}.timeline-section-head p{color:var(--t3);max-width:52ch;margin:0;font-size:14px;line-height:1.6}.timeline-year-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.timeline-year-card{border:1px solid var(--border-soft);background:var(--surface-1);box-shadow:var(--shadow-soft);border-radius:12px;padding:20px}.timeline-year{font-family:var(--mono);color:var(--t1);margin-bottom:14px;font-size:28px;line-height:1}.timeline-year-stats{color:var(--t2);gap:8px;font-size:13px;line-height:1.4;display:grid}.timeline-year-stats strong{font-family:var(--mono);color:var(--grn)}.timeline-year-card p{color:var(--t3);margin:14px 0;font-size:14px;line-height:1.6}.timeline-chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-chip-row span{font-family:var(--mono);color:var(--t2);border:1px solid var(--border-soft);background:#ffffff08;border-radius:6px;padding:4px 8px;font-size:11px}.timeline-controls{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.timeline-controls label{color:var(--t3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;gap:7px;font-size:11px;display:grid}.timeline-controls select{border:1px solid var(--border-soft);background:var(--surface-2);width:100%;min-height:42px;color:var(--t1);font:500 13px var(--mono);border-radius:10px;padding:0 12px}.timeline-reset{border:1px solid var(--border-soft);background:var(--surface-2);min-height:42px;color:var(--t1);font:600 12px var(--mono);cursor:pointer;border-radius:10px;padding:0 16px}.timeline-reset:hover,.timeline-controls select:hover{border-color:var(--grn);box-shadow:0 0 0 3px var(--focus-ring)}.timeline-status{color:var(--t3);margin:0 0 20px;font-size:13px}.timeline-list{gap:12px;margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline-event{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:14px;display:grid}.timeline-event[hidden]{display:none}.timeline-marker{background:var(--blue);border-radius:2px;width:10px;height:10px;margin-top:25px;box-shadow:0 0 16px #58a6ff4d}.timeline-marker-release{background:var(--grn);box-shadow:0 0 16px var(--grn-glow)}.timeline-marker-project{background:var(--blue)}.timeline-marker-changelog{background:var(--yel)}.timeline-event-card{border:1px solid var(--border-soft);background:var(--surface-1);box-shadow:var(--shadow-soft);border-radius:12px;padding:20px;transition:border-color .2s,transform .2s,box-shadow .2s}.timeline-event-card:hover{border-color:#4ade8047;transform:translateY(-1px)}.timeline-event-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.timeline-type{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t1);border:1px solid var(--border-soft);border-radius:6px;padding:4px 7px;font-size:10px}.timeline-type-release{color:var(--grn);background:var(--grnd);border-color:#4ade8038}.timeline-type-project{color:var(--blue);background:var(--blued);border-color:#58a6ff38}.timeline-type-changelog{color:var(--yel);background:var(--yeld);border-color:#eab30838}.timeline-event-meta time{font-family:var(--mono);color:var(--t3);font-variant-numeric:tabular-nums;font-size:12px}.timeline-event-card h3{margin:0;font-size:18px;line-height:1.35}.timeline-event-card h3 a{color:var(--t1);text-decoration:none}.timeline-event-card h3 a:hover{color:var(--grn)}.timeline-event-card p{color:var(--t2);margin:9px 0 14px;font-size:14px;line-height:1.65}@media (width<=900px){.timeline-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-reset{grid-column:1/-1}}@media (width<=640px){.timeline-section-head{flex-direction:column;align-items:start}.timeline-controls,.timeline-event{grid-template-columns:1fr}.timeline-marker{display:none}.timeline-event-card{padding:18px}}
