@keyframes presentation-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(59,130,246,.7)}50%{transform:scale(1.05);box-shadow:0 0 20px 10px rgba(59,130,246,0)}}.presentation-pulse{animation:presentation-pulse 2s ease-in-out infinite}@keyframes presentation-glow{0%,to{filter:drop-shadow(0 0 10px rgba(59,130,246,.5))}50%{filter:drop-shadow(0 0 30px rgba(59,130,246,.9))}}.presentation-highlight{animation:presentation-glow 2s ease-in-out infinite}@keyframes node-reveal{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.node-revealing{animation:node-reveal .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes edge-draw{0%{stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0}50%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.edge-drawing{animation:edge-draw .8s ease-out forwards}@keyframes slide-in-right{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-out-left{0%{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}.slide-entering{animation:slide-in-right .5s ease-out forwards}.slide-exiting{animation:slide-out-left .5s ease-out forwards}@keyframes spotlight-focus{0%{opacity:.3;filter:blur(2px)}to{opacity:1;filter:blur(0)}}.spotlight-target{animation:spotlight-focus .6s ease-out forwards}@keyframes text-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.narrative-text{animation:text-reveal .4s ease-out forwards}@keyframes progress-fill{0%{width:0}to{width:var(--progress-width,100%)}}.presentation-progress{animation:progress-fill linear forwards;animation-duration:var(--slide-duration,8s)}.presentation-control-button{transition:all .2s ease}.presentation-control-button:hover{transform:scale(1.1);box-shadow:0 4px 20px rgba(0,0,0,.3)}.presentation-control-button:active{transform:scale(.95)}@keyframes dot-active{0%{width:8px;background:rgba(147,51,234,.5)}to{width:32px;background:rgba(147,51,234,1)}}.slide-indicator-active{animation:dot-active .3s ease-out forwards}@keyframes overlay-fade-in{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);background:rgba(0,0,0,0)}to{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.95)}}.presentation-overlay{animation:overlay-fade-in .5s ease-out forwards}.node-type-service.presentation-highlight{filter:drop-shadow(0 0 25px rgba(59,130,246,.8))}.node-type-database.presentation-highlight{filter:drop-shadow(0 0 25px rgba(16,185,129,.8))}.node-type-loadBalancer.presentation-highlight{filter:drop-shadow(0 0 25px rgba(245,158,11,.8))}.node-type-cache.presentation-highlight{filter:drop-shadow(0 0 25px rgba(239,68,68,.8))}.presentation-camera-move{transition:transform .8s cubic-bezier(.4,0,.2,1)}@keyframes bullet-reveal{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.bullet-point{animation:bullet-reveal .3s ease-out forwards;animation-delay:calc(var(--bullet-index, 0) * .1s)}@keyframes title-emphasis{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.slide-title{animation:title-emphasis 4s ease-in-out infinite}@keyframes presentation-loading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.presentation-loading-spinner{animation:presentation-loading 1s linear infinite}.fade-enter{opacity:0;transition:opacity .3s ease-in-out}.fade-enter-active{opacity:1}.fade-exit{opacity:1;transition:opacity .3s ease-in-out}.fade-exit-active{opacity:0}@keyframes node-emphasis{0%,to{transform:scale(1)}25%{transform:scale(1.15)}75%{transform:scale(1.1)}}.node-emphasize{animation:node-emphasis 1s ease-in-out}@keyframes data-flow{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.edge-data-flow{stroke-dasharray:10 5;animation:data-flow 2s linear infinite}@keyframes slideInScale{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.presentation-node-animated{filter:drop-shadow(0 0 20px rgba(139,92,246,.4));transition:all .5s cubic-bezier(.4,0,.2,1)}.presentation-edge-animated{filter:drop-shadow(0 0 10px rgba(139,92,246,.6))}.presentation-fullscreen{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:99999!important;background:#000000!important}@keyframes simulation-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.simulation-pulse{animation:simulation-pulse 1.5s ease-in-out infinite}@keyframes simulation-shake-light{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@keyframes simulation-shake-medium{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes simulation-shake-heavy{0%,to{transform:translateX(0)}20%{transform:translateX(-6px) rotate(-1deg)}40%{transform:translateX(6px) rotate(1deg)}60%{transform:translateX(-6px) rotate(-1deg)}80%{transform:translateX(6px) rotate(1deg)}}.simulation-shake-3{animation:simulation-shake-light .3s ease-in-out infinite}.simulation-shake-5{animation:simulation-shake-medium .3s ease-in-out infinite}.simulation-shake-10,.simulation-shake-7,.simulation-shake-8,.simulation-shake-9{animation:simulation-shake-heavy .2s ease-in-out infinite}@keyframes heat-wave{0%{filter:hue-rotate(0deg) brightness(1)}25%{filter:hue-rotate(-10deg) brightness(1.1)}50%{filter:hue-rotate(10deg) brightness(1.2)}75%{filter:hue-rotate(-5deg) brightness(1.1)}to{filter:hue-rotate(0deg) brightness(1)}}.heat-wave{animation:heat-wave 2s ease-in-out infinite}@keyframes particle-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}.particle-flow{stroke-dasharray:5 10;animation:particle-flow 1s linear infinite}@keyframes critical-flash{0%,to{background-color:rgba(239,68,68,.2);border-color:#ef4444}50%{background-color:rgba(239,68,68,.5);border-color:#dc2626}}.critical-flash{animation:critical-flash .5s ease-in-out infinite}@keyframes warning-pulse{0%,to{background-color:rgba(245,158,11,.2);border-color:#f59e0b}50%{background-color:rgba(245,158,11,.4);border-color:#d97706}}.warning-pulse{animation:warning-pulse 1s ease-in-out infinite}@keyframes recovery-glow{0%{background-color:rgba(34,197,94,.1);border-color:#22c55e}50%{background-color:rgba(34,197,94,.3);border-color:#16a34a;box-shadow:0 0 20px rgba(34,197,94,.5)}to{background-color:rgba(34,197,94,.1);border-color:#22c55e}}.recovery-glow{animation:recovery-glow 2s ease-in-out infinite}@keyframes cascade-ripple{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}.cascade-ripple:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:2px solid #ef4444;border-radius:50%;animation:cascade-ripple 1.5s ease-out infinite}@keyframes scale-up{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.3);opacity:1}to{transform:scale(1.2);opacity:1}}.scale-up{animation:scale-up .5s ease-out forwards}@keyframes deployment-transition{0%{background:linear-gradient(90deg,#3b82f6 50%,#10b981 0);background-size:200% 100%;background-position:0 0}to{background-position:-100% 0}}.deployment-transition{animation:deployment-transition 2s ease-in-out forwards}@keyframes network-partition{0%,to{opacity:1;stroke-dasharray:none}50%{opacity:.3;stroke-dasharray:5 5}}.network-partition{animation:network-partition 2s ease-in-out infinite}@keyframes ddos-attack{0%{transform:scale(1) rotate(0deg);background-color:rgba(239,68,68,.3)}25%{transform:scale(1.1) rotate(5deg);background-color:rgba(239,68,68,.5)}50%{transform:scale(.9) rotate(-5deg);background-color:rgba(239,68,68,.7)}75%{transform:scale(1.1) rotate(3deg);background-color:rgba(239,68,68,.5)}to{transform:scale(1) rotate(0deg);background-color:rgba(239,68,68,.3)}}.ddos-attack{animation:ddos-attack .3s ease-in-out infinite}@keyframes memory-leak{0%{background:linear-gradient(180deg,transparent 100%,#ef4444 0)}to{background:linear-gradient(180deg,transparent,#ef4444)}}.memory-leak{position:relative;overflow:hidden}.memory-leak:before{content:"";position:absolute;bottom:0;left:0;right:0;height:var(--memory-usage,0);background:linear-gradient(180deg,rgba(239,68,68,.3),rgba(239,68,68,.8));transition:height .3s ease-in-out}@keyframes cache-miss{0%,to{opacity:1;filter:blur(0)}50%{opacity:.5;filter:blur(2px)}}.cache-miss{animation:cache-miss .5s ease-in-out infinite}@keyframes traffic-surge{0%{stroke-width:2px;stroke:#3b82f6}50%{stroke-width:8px;stroke:#ef4444}to{stroke-width:2px;stroke:#3b82f6}}.traffic-surge{animation:traffic-surge 1s ease-in-out infinite}@keyframes dr-beacon{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.7);background-color:rgba(34,197,94,.3)}50%{box-shadow:0 0 0 20px rgba(34,197,94,0);background-color:rgba(34,197,94,.5)}}.dr-beacon{animation:dr-beacon 2s ease-in-out infinite}.metrics-overlay{position:absolute;top:-25px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);color:white;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;pointer-events:none;z-index:1000}.metrics-overlay.critical{background:rgba(239,68,68,.9)}.metrics-overlay.warning{background:rgba(245,158,11,.9)}.metrics-overlay.healthy{background:rgba(34,197,94,.9)}.bottleneck-highlight{position:relative}.bottleneck-highlight:before{content:"⚠️";position:absolute;top:-20px;right:-10px;font-size:20px;animation:warning-pulse 1s ease-in-out infinite}.edge-healthy{stroke:#10b981;stroke-width:2}.edge-degraded{stroke:#f59e0b;stroke-width:3;stroke-dasharray:5 5;animation:particle-flow 2s linear infinite}.edge-critical{stroke:#ef4444;stroke-width:4;stroke-dasharray:10 5;animation:particle-flow .5s linear infinite}.node-healthy{background-color:rgba(16,185,129,.1);border:2px solid #10b981}.node-warning{background-color:rgba(245,158,11,.2);border:2px solid #f59e0b;animation:warning-pulse 2s ease-in-out infinite}.node-critical{background-color:rgba(239,68,68,.2);border:3px solid #ef4444;animation:critical-flash .5s ease-in-out infinite}.node-failed{background-color:rgba(107,114,128,.3);border:3px dashed #6b7280;opacity:.5}.simulation-controls{background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(147,51,234,.1));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px}.simulation-scenario-card{transition:all .3s ease;cursor:pointer}.simulation-scenario-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.3)}.simulation-scenario-card.selected{box-shadow:0 0 0 2px white,0 10px 30px rgba(59,130,246,.5)}@keyframes event-appear{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.event-log-item{animation:event-appear .3s ease-out}@keyframes metric-update{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.metric-value-updated{animation:metric-update .3s ease-out}@keyframes simulation-loading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.simulation-loading{animation:simulation-loading 1s linear infinite}@keyframes recommendation-glow{0%,to{background-color:rgba(59,130,246,.1);border-left:3px solid #3b82f6}50%{background-color:rgba(59,130,246,.2);border-left:3px solid #2563eb}}.recommendation-item{animation:recommendation-glow 2s ease-in-out infinite}@keyframes simulation-wave{0%{transform:scale(.8);opacity:0;filter:brightness(1)}30%{transform:scale(1.15);opacity:.9;filter:brightness(1.3) saturate(1.2)}60%{transform:scale(1.05);opacity:1;filter:brightness(1.1) saturate(1.1)}to{transform:scale(1);opacity:1;filter:brightness(1) saturate(1)}}@keyframes simulation-recovery{0%{filter:saturate(.2) brightness(.7);transform:scale(.95)}25%{filter:saturate(.4) brightness(.8);transform:scale(.97)}50%{filter:saturate(.6) brightness(.9);transform:scale(.99)}75%{filter:saturate(.8) brightness(.95);transform:scale(1.01)}to{filter:saturate(1) brightness(1);transform:scale(1)}}@keyframes simulation-flow{0%{stroke-dashoffset:100;opacity:.3}50%{stroke-dashoffset:50;opacity:1}to{stroke-dashoffset:0;opacity:.3}}@keyframes simulation-cascade{0%{background-color:#d1fae5;border-color:#10b981;box-shadow:0 0 10px rgba(16,185,129,.2)}25%{background-color:#fef3c7;border-color:#f59e0b;box-shadow:0 0 20px rgba(245,158,11,.4)}50%{background-color:#fed7aa;border-color:#fb923c;box-shadow:0 0 25px rgba(251,146,60,.5)}75%{background-color:#fef2f2;border-color:#ef4444;box-shadow:0 0 30px rgba(239,68,68,.6)}to{background-color:#fee2e2;border-color:#dc2626;box-shadow:0 0 35px rgba(220,38,38,.7),inset 0 0 20px rgba(220,38,38,.3)}}@keyframes simulation-critical{0%,to{opacity:1;box-shadow:0 0 30px rgba(220,38,38,.8),inset 0 0 15px rgba(220,38,38,.4)}25%{opacity:.8;box-shadow:0 0 40px rgba(220,38,38,1),inset 0 0 20px rgba(220,38,38,.6)}50%{opacity:.9;box-shadow:0 0 50px rgba(220,38,38,.9),inset 0 0 25px rgba(220,38,38,.5)}75%{opacity:.85;box-shadow:0 0 35px rgba(220,38,38,.85),inset 0 0 18px rgba(220,38,38,.45)}}.simulation-critical-node{position:relative;z-index:20;animation:simulation-wave .8s ease-out,simulation-critical 2s infinite;will-change:transform,opacity,box-shadow}.simulation-cascade-edge{animation:simulation-flow 1s linear infinite;stroke-linecap:round;stroke-linejoin:round;will-change:stroke-dashoffset,opacity}@keyframes quantumPulseCritical{0%,to{transform:scale(1) rotate(0deg);box-shadow:0 0 30px rgba(239,68,68,.8),0 0 60px rgba(239,68,68,.5),0 0 90px rgba(239,68,68,.3),inset 0 0 30px rgba(239,68,68,.4);filter:saturate(2) brightness(1.3) contrast(1.2) hue-rotate(0deg)}25%{transform:scale(1.05) rotate(1deg);filter:saturate(2.5) brightness(1.4) contrast(1.3) hue-rotate(-5deg)}50%{transform:scale(1.08) rotate(-1deg);box-shadow:0 0 40px rgba(239,68,68,1),0 0 80px rgba(239,68,68,.7),0 0 120px rgba(239,68,68,.5),inset 0 0 40px rgba(239,68,68,.6);filter:saturate(3) brightness(1.5) contrast(1.4) hue-rotate(5deg)}75%{transform:scale(1.05) rotate(1deg);filter:saturate(2.5) brightness(1.4) contrast(1.3) hue-rotate(-3deg)}}@keyframes quantumPulseHigh{0%,to{transform:scale(1);box-shadow:0 0 20px rgba(251,146,60,.7),0 0 40px rgba(251,146,60,.4),inset 0 0 20px rgba(251,146,60,.3);filter:saturate(1.8) brightness(1.2) contrast(1.1)}50%{transform:scale(1.06);box-shadow:0 0 30px rgba(251,146,60,.9),0 0 60px rgba(251,146,60,.6),0 0 90px rgba(251,146,60,.3),inset 0 0 30px rgba(251,146,60,.5);filter:saturate(2.2) brightness(1.35) contrast(1.2)}}@keyframes quantumPulseMedium{0%,to{transform:scale(1);box-shadow:0 0 15px rgba(251,191,36,.6),0 0 30px rgba(251,191,36,.3);filter:saturate(1.5) brightness(1.1)}50%{transform:scale(1.04);box-shadow:0 0 25px rgba(251,191,36,.8),0 0 50px rgba(251,191,36,.5),inset 0 0 15px rgba(251,191,36,.3);filter:saturate(1.8) brightness(1.2)}}.quantum-risk-node{position:relative;transform-style:preserve-3d;transition:all .8s cubic-bezier(.4,0,.2,1)}.quantum-risk-node:before{content:"";position:absolute;inset:-4px;border-radius:inherit;padding:4px;background:linear-gradient(45deg,transparent,currentColor,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;animation:quantumBorderRotate 3s linear infinite}.quantum-risk-node.risk-critical:before{opacity:.8;animation-duration:1s}.quantum-risk-node.risk-high:before{opacity:.6;animation-duration:1.5s}.quantum-risk-node.risk-medium:before{opacity:.4;animation-duration:2s}@keyframes quantumBorderRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes quantumParticleFloat{0%,to{transform:translate(0) scale(1);opacity:.2}33%{transform:translate(30px,-30px) scale(1.5);opacity:1}66%{transform:translate(-20px,20px) scale(1.2);opacity:.6}}@keyframes quantumRingRotate{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.05)}to{transform:rotate(1turn) scale(1)}}@keyframes quantumConnectionPulse{0%,to{stroke-width:2;opacity:.8}50%{stroke-width:4;opacity:1;filter:drop-shadow(0 0 10px currentColor)}}@keyframes magicFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px rgba(0,255,255,.5)}50%{box-shadow:0 0 40px rgba(0,255,255,.8),0 0 60px rgba(0,255,255,.6)}}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) rgba(0,0,0,.1)}