@keyframes node-pulse{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(245,158,11,.7)}50%{transform:scale(1.05);opacity:.9;box-shadow:0 0 0 10px rgba(245,158,11,0)}}.animate-pulse-glow{animation:node-pulse 2s ease-in-out infinite}@keyframes node-vibrate{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.animate-vibrate{animation:node-vibrate .5s ease-in-out infinite}.animate-vibrate:hover{animation-play-state:paused}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-count-up{animation:count-up .8s ease-out forwards}@keyframes card-entrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-card-entrance{opacity:0;animation:card-entrance .4s ease-out forwards}.animate-card-entrance:first-child{animation-delay:.05s}.animate-card-entrance:nth-child(2){animation-delay:.1s}.animate-card-entrance:nth-child(3){animation-delay:.15s}.animate-card-entrance:nth-child(4){animation-delay:.2s}.animate-card-entrance:nth-child(5){animation-delay:.25s}.animate-card-entrance:nth-child(6){animation-delay:.3s}.progress-bar-fill{width:0;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-bar-fill.animate{width:var(--progress-value,0)}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1)}@keyframes hot-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.animate-hot-badge{animation:hot-badge-pulse 1s ease-in-out infinite}@keyframes number-highlight{0%{background-color:rgba(245,158,11,.3)}to{background-color:transparent}}.animate-number-highlight{animation:number-highlight 2s ease-out forwards}@keyframes sparkline-glow{0%,to{filter:drop-shadow(0 0 2px rgba(59,130,246,.5))}50%{filter:drop-shadow(0 0 6px rgba(59,130,246,.8))}}.sparkline-glow{animation:sparkline-glow 2s ease-in-out infinite}.graph-node{cursor:pointer;transition:all .2s ease-out}.graph-node:hover{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.graph-node-question{fill:#6366f1}.graph-node-cited{fill:#10b981}.graph-node-gap{fill:#f43f5e}.graph-node-trending{fill:#f59e0b}@keyframes svg-node-gap{0%,to{transform:translate(0)}10%{transform:translate(-1px)}20%{transform:translate(1px)}30%{transform:translate(-1px)}40%{transform:translate(1px)}50%{transform:translate(-1px)}60%{transform:translate(1px)}70%{transform:translate(-1px)}80%{transform:translate(1px)}90%{transform:translate(-1px)}}.animate-node-gap{animation:svg-node-gap .8s ease-in-out infinite}.animate-node-gap:hover{animation-play-state:paused}@keyframes svg-node-pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-node-pulse{animation:svg-node-pulse 1.5s ease-in-out infinite}@keyframes svg-node-glow{0%,to{filter:drop-shadow(0 0 3px rgba(244,63,94,.5))}50%{filter:drop-shadow(0 0 10px rgba(244,63,94,.8))}}.animate-node-glow{animation:svg-node-glow 2s ease-in-out infinite}@keyframes edge-flow{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.graph-edge{stroke-dasharray:5 5;animation:edge-flow 1s linear infinite}@keyframes tooltip-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.graph-tooltip{animation:tooltip-fade .2s ease-out forwards}