@keyframes zoomTransition{0%{opacity:.7;filter:blur(.8px)}50%{opacity:1;filter:blur()}to{opacity:1;filter:blur()}}@keyframes tickFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes tickScale{0%{opacity:.5;transform:scaleY(.4)}50%{opacity:.75}to{opacity:1;transform:scaleY(1)}}@keyframes panSmooth{0%{transform:translate(0)}to{transform:translateX(var(--pan-distance,0))}}@keyframes panDecelerate{0%{opacity:1;transform:translate(0)}to{transform:translateX(var(--pan-distance,0));opacity:1}}@keyframes labelHover{0%{color:#6b7280;transform:translateY(0)}50%{color:#374151;transform:translateY(-3px)}to{color:#374151;transform:translateY(-3px)}}@keyframes scaleLabelChange{0%{opacity:0;transform:scale(.95)translateY(-2px)}50%{opacity:.5}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes todayPulse{0%,to{opacity:1;box-shadow:0 0 #ef444480}50%{opacity:1;box-shadow:0 0 0 12px #ef444400}}@keyframes todayCelebration{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes shimmer{0%,to{opacity:0;transform:translateY(0)translate(0)}50%{opacity:1}}.timeline-tick-major{--tick-color:#1f2937;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-tick-major:hover{--tick-color:#111827;transform:scaleY(1.1)}.timeline-tick-minor{--tick-color:#6b7280;transition:all .25s cubic-bezier(.4,0,.2,1)}.timeline-tick-minor:hover{--tick-color:#4b5563}.timeline-scale-months .timeline-tick-major{--tick-color:#2563eb;background-color:#2563eb}.timeline-scale-years .timeline-tick-major{--tick-color:#374151;background-color:#374151}.timeline-scale-decades .timeline-tick-major{--tick-color:#475569;background-color:#475569}.timeline-scale-centuries .timeline-tick-major{--tick-color:#575358;background-color:#575358}.timeline-scale-millennia .timeline-tick-major{--tick-color:#1f2937;background-color:#1f2937}.timeline-container{transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-container.zooming{animation:.4s cubic-bezier(.34,1.56,.64,1) zoomTransition}.timeline-tick{will-change:opacity,transform,background-color;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-tick.entering{animation:.3s cubic-bezier(.34,1.56,.64,1) tickFadeIn,.4s cubic-bezier(.34,1.56,.64,1) tickScale}.timeline-day-label{cursor:pointer;will-change:transform,color;border-radius:4px;padding:2px 4px;transition:all .2s cubic-bezier(.4,0,.2,1)}.timeline-day-label:hover{color:#2563eb;background-color:#3b82f61a;animation:.3s cubic-bezier(.34,1.56,.64,1) labelHover}.timeline-today{will-change:box-shadow,opacity;animation:2s cubic-bezier(.4,0,.2,1) infinite todayPulse}.timeline-today.celebrating{animation:.6s cubic-bezier(.34,1.56,.64,1) todayCelebration}.timeline-center-date{will-change:transform,opacity;transition:all .15s ease-out}.timeline-center-date.changing{animation:.3s cubic-bezier(.4,0,.2,1) fadeInOut}@keyframes dateIndicatorPulse{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.02)}}.timeline-center-date.pulse{animation:.3s ease-out dateIndicatorPulse}.timeline-center-date:hover{box-shadow:none}@keyframes fadeInOut{0%{opacity:.7;transform:translateY(2px)}50%{opacity:1}to{opacity:1;transform:translateY(0)}}.timeline-tooltip{opacity:0;visibility:hidden;color:#fff;white-space:nowrap;z-index:50;pointer-events:none;will-change:opacity,visibility,transform;background-color:#000c;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:12px;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;bottom:100%;left:50%;transform:translateY(-10px)translate(-50%)}.timeline-tooltip.visible{opacity:1;visibility:visible;animation:.2s cubic-bezier(.34,1.56,.64,1) tooltipAppear;transform:translateY(-4px)translate(-50%)}@keyframes tooltipAppear{0%{opacity:0;transform:translateY(-10px)translate(-50%)}to{opacity:1;transform:translateY(-4px)translate(-50%)}}.timeline-tooltip:after{content:"";border:4px solid #0000;border-top-color:#000c;position:absolute;top:100%;left:50%;transform:translate(-50%)}.timeline-viewport{scroll-behavior:smooth;will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1)}.timeline-viewport.panning{animation:.5s cubic-bezier(.25,.46,.45,.94) panSmooth}.timeline-viewport.pan-decelerate{animation:.8s cubic-bezier(.25,.46,.45,.94) panDecelerate}.timeline-scale-label{will-change:opacity,transform;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-scale-label.changing{animation:.3s cubic-bezier(.34,1.56,.64,1) scaleLabelChange}@media (prefers-reduced-motion:reduce){.timeline-container,.timeline-tick,.timeline-day-label,.timeline-center-date,.timeline-tooltip,.timeline-viewport,.timeline-scale-label,.timeline-today{transition:none!important;animation:none!important}.timeline-container,.timeline-tick,.timeline-day-label,.timeline-center-date,.timeline-tooltip,.timeline-viewport,.timeline-scale-label{will-change:auto!important}}@media (prefers-color-scheme:light){.timeline-tick-major{backface-visibility:hidden;-webkit-font-smoothing:antialiased}}@keyframes successPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes loadingPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes expandCollapse{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.category-section-content{animation:.3s ease-out forwards expandCollapse}.dark .timeline-tooltip{color:#1a1a1a;background-color:#ffffffe6}.dark .timeline-tooltip:after{border-top-color:#ffffffe6}
