.gradient-border{background:linear-gradient(60deg,#3b82f6,#2dd4bf,#3b82f6,#2dd4bf);background-size:300% 300%;animation:animateGradient 3s ease infinite}.timeline-container-horizontal{display:flex;flex-direction:column;gap:32px;width:100%}@keyframes animateGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.timeline-toggle-controls{display:flex;justify-content:center;margin-bottom:16px}.timeline-toggle-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid rgb(71,85,105);background:transparent;color:#94a3b8;cursor:pointer;transition:all .3s ease}.timeline-toggle-button:hover{border-color:#3b82f6;color:#3b82f6;box-shadow:0 0 20px #3b82f64d}.timeline-overview-mode{width:100%;padding:48px 16px}.timeline-overview-container{display:flex;align-items:flex-start;justify-content:space-between;width:100%;position:relative;min-height:200px}.timeline-overview-container:before{content:"";position:absolute;top:30px;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#2dd4bf);z-index:1}.timeline-overview-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:all .3s ease;flex:1;justify-content:flex-start;z-index:2}.timeline-overview-node:hover .overview-node-dot{transform:scale(1.3);box-shadow:0 0 30px #3b82f6cc}.timeline-overview-node:hover .overview-node-label{opacity:1}.timeline-overview-node:hover .overview-node-tooltip{opacity:1;visibility:visible;transform:translateY(-8px)}.overview-node-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgb(71,85,105);background:transparent;transition:all .3s ease;box-shadow:0 0 10px #3b82f666;background:#0f172a}.timeline-overview-node.completed .overview-node-dot{background:#2dd4bf;border-color:#2dd4bf}.timeline-overview-node.active .overview-node-dot{width:20px;height:20px;background:linear-gradient(135deg,#3b82f6,#2dd4bf);border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f64d,0 0 20px #3b82f6}.overview-node-label{text-align:center;margin-top:12px;opacity:.7;transition:opacity .3s ease}.overview-node-title{font-size:.75rem;font-weight:600;color:#94a3b8;line-height:1.2;max-width:110px}.overview-node-year{font-size:.65rem;color:#64748b;margin-top:2px}.overview-node-connector{position:absolute;top:30px;height:2px;background:linear-gradient(90deg,transparent,rgb(59,130,246),transparent);z-index:0;flex:1}.overview-node-tooltip{position:absolute;bottom:-120px;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid rgb(71,85,105);border-radius:8px;padding:12px;min-width:200px;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none;white-space:normal;z-index:20;box-shadow:0 0 20px #3b82f633}.overview-node-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#1e293b}.timeline-content-wrapper{display:flex;align-items:center;justify-content:center;gap:0;padding:0 16px;width:100%}.timeline-connector-line{height:3px;background:linear-gradient(90deg,#3b82f6,#2dd4bf);flex-shrink:0;opacity:0;animation:lineSlideIn .6s cubic-bezier(.25,.46,.45,.94) forwards}.timeline-connector-line.left{width:40px;order:2;animation-name:lineSlideInLeft;animation-delay:.4s}.timeline-connector-line.right{width:40px;order:4;animation-name:lineSlideInRight;animation-delay:.45s}.timeline-connector-line.disabled{background:#475569;opacity:.5}@keyframes lineSlideInLeft{0%{opacity:0;width:0;transform:translate(-20px)}to{opacity:1;width:40px;transform:translate(0)}}@keyframes lineSlideInRight{0%{opacity:0;width:0;transform:translate(20px)}to{opacity:1;width:40px;transform:translate(0)}}.timeline-center-container{flex:1;max-width:600px;position:relative;display:flex;flex-direction:column;align-items:center;order:3}.timeline-nav-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid rgb(71,85,105);background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0}.timeline-nav-button.prev{order:1}.timeline-nav-button.next{order:5}.timeline-nav-button:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;box-shadow:0 0 20px #3b82f64d;transition:all .3s ease}.timeline-nav-button:disabled{opacity:.4;cursor:not-allowed}.timeline-dots-track{display:flex;justify-content:center;align-items:center;gap:0;padding:0 16px;flex-wrap:wrap}.timeline-dot-wrapper{display:flex;align-items:center;gap:0}.timeline-line-connector{height:2px;background:linear-gradient(90deg,#3b82f6,#2dd4bf);transition:all .3s ease}.timeline-line-connector.left,.timeline-line-connector.right{width:12px}.timeline-dot-button{width:12px;height:12px;border-radius:50%;border:2px solid #3b82f6;background:transparent;cursor:pointer;transition:all .3s ease;position:relative;flex-shrink:0;box-shadow:0 0 10px #3b82f699,inset 0 0 10px #2dd4bf33;animation:dotGlow 2s ease-in-out infinite}@keyframes dotGlow{0%,to{box-shadow:0 0 10px #3b82f699,inset 0 0 10px #2dd4bf33}50%{box-shadow:0 0 20px #3b82f6e6,inset 0 0 15px #2dd4bf66}}.timeline-dot-button:hover{border-color:#3b82f6;transform:scale(1.2)}.timeline-dot-button.completed{background:#2dd4bf;border-color:#2dd4bf}.timeline-dot-button.active{width:16px;height:16px;background:linear-gradient(135deg,#3b82f6,#2dd4bf);border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f64d,0 0 20px #3b82f6}.timeline-dot-button:disabled{cursor:not-allowed}.timeline-content-container{width:100%;position:relative;display:flex;align-items:center;justify-content:center;min-height:350px}.timeline-node{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;animation:nodeSlideIn .7s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:0s}.timeline-node-right{animation-name:nodeSlideInRight}.timeline-node-left{animation-name:nodeSlideInLeft}.timeline-dot{width:16px;height:16px;background:linear-gradient(135deg,#3b82f6,#2dd4bf);border:3px solid rgb(15,23,42);border-radius:50%;box-shadow:0 0 0 6px #3b82f64d,0 0 20px #3b82f633;transition:all .3s ease;animation:dotFadeInScale .5s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.1s}@keyframes dotFadeInScale{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.timeline-node:hover .timeline-dot{width:22px;height:22px;box-shadow:0 0 0 8px #3b82f666,0 0 30px #3b82f680}@keyframes nodeSlideInRight{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes nodeSlideInLeft{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}.timeline-content{padding:24px;border-radius:12px;width:100%;position:relative;z-index:5;animation:cardFadeInScale .6s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:0s;border:1px solid #3b82f6;background:linear-gradient(135deg,#3b82f60d,#2dd4bf0d);box-shadow:0 0 30px #3b82f64d,inset 0 0 20px #3b82f60d}@keyframes cardFadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.timeline-node:hover .timeline-content{border-color:#3b82f6;box-shadow:0 0 20px #3b82f64d;transition:all .3s ease}.timeline-progress{display:flex;justify-content:center;padding:8px 0}@media(max-width:768px){.timeline-container-horizontal{gap:24px}.timeline-content-wrapper{gap:0;padding:0 8px;align-items:center;flex-wrap:wrap;justify-content:center}.timeline-connector-line{width:24px}.timeline-nav-button{width:36px;height:36px}.timeline-nav-button svg{width:18px;height:18px}.timeline-center-container{width:100%;order:6;gap:12px}.timeline-content-container{min-height:250px}.timeline-content{padding:16px}.timeline-dots-track{gap:8px}.timeline-overview-container{gap:16px;min-height:240px}.timeline-overview-container:before{top:40px}.overview-node-dot{width:14px;height:14px}.timeline-overview-node.active .overview-node-dot{width:18px;height:18px}.overview-node-title{font-size:.65rem;max-width:90px}.overview-node-year{font-size:.6rem}.overview-node-tooltip{min-width:160px;padding:8px;font-size:.75rem}}@keyframes pop-in-bounce{0%{opacity:0;transform:scale(.1)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.pop-in-header{animation:pop-in-bounce .5s ease-out}.pop-in-content{opacity:0;animation:pop-in-bounce .5s ease-out forwards}.delay-1{animation-delay:.5s}.delay-2{animation-delay:1s}.delay-3{animation-delay:1.5s}.delay-4{animation-delay:2s}.delay-5{animation-delay:2.5s}@media(max-width:768px){main{padding:2rem 1rem 8rem}}
