@keyframes word-appear{0%{opacity:0;transform:translateY(30px) scale(.8);filter:blur(10px)}50%{opacity:.8;transform:translateY(10px) scale(.95);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes grid-draw{0%{stroke-dashoffset:1000;opacity:0}50%{opacity:.4}to{stroke-dashoffset:0;opacity:.25}}@keyframes pulse-glow{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.3;transform:scale(1.1)}}@keyframes underline-grow{to{width:100%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInFromRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-30px)}70%{transform:translateY(-15px)}90%{transform:translateY(-4px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px rgba(107,93,229,.3)}50%{box-shadow:0 0 20px rgba(107,93,229,.6)}}@keyframes background-highlight{0%{background-color:transparent}to{background-color:var(--accent)}}@keyframes background-highlight-dark{0%{background-color:transparent}to{background-color:rgba(107,93,229,.1)}}.word{display:inline-block;opacity:0;margin:0 .1em;transition:all .3s ease}.word:hover{color:#6B5DE5;transform:translateY(-2px);text-shadow:0 0 10px rgba(107,93,229,.3)}.dark .word:hover{color:var(--accent);text-shadow:0 0 15px rgba(107,93,229,.5)}.grid-line{stroke:#6B5DE5;stroke-width:.5;opacity:0;stroke-dasharray:5 5;stroke-dashoffset:1000;animation:grid-draw 2s ease-out forwards}.detail-dot{fill:#6B5DE5;opacity:0;animation:pulse-glow 3s ease-in-out infinite}.corner-element{position:absolute;width:40px;height:40px;border:1px solid rgba(107,93,229,.4);opacity:0;animation:word-appear 1s ease-out forwards}.corner-element:before{content:"";position:absolute;width:8px;height:8px;background:rgba(107,93,229,.5);border-radius:50%}.text-decoration{position:relative}.text-decoration:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:linear-gradient(90deg,transparent,#6B5DE5,transparent);animation:underline-grow 2s ease-out forwards;animation-delay:4s}.floating-element{position:absolute;width:2px;height:2px;background:#6B5DE5;border-radius:50%;opacity:0;animation:float 4s ease-in-out infinite}.floating-element-1{top:25%;left:15%}.floating-element-2{top:70%;right:20%}.floating-element-3{top:40%;right:10%}.floating-element-4{bottom:30%;left:25%}@keyframes nodeAppear{0%{opacity:0}to{opacity:1}}@keyframes connectionDraw{0%{opacity:0}to{opacity:.3}}@keyframes selectionPulse{0%,to{stroke-opacity:.5}50%{stroke-opacity:.8}}@keyframes loadingRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes loadingPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes premiumGlow{0%,to{filter:drop-shadow(0 0 3px rgba(107,93,229,.3))}50%{filter:drop-shadow(0 0 8px rgba(107,93,229,.6))}}@keyframes actionsAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes nodeHover{0%{transform:scale(1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}to{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(107,93,229,.2))}}@keyframes buttonHover{0%{background-color:rgba(107,93,229,.1);transform:scale(1)}to{background-color:rgba(107,93,229,.2);transform:scale(1.05)}}@keyframes mindMapNodeHover{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.1);filter:brightness(1.1)}}@keyframes mindMapNodeSelect{0%{stroke-width:1;stroke-opacity:.3}to{stroke-width:2;stroke-opacity:.8}}@keyframes mindMapLoadingPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes mindMapExpandButton{0%{opacity:0;transform:scale(.8) rotate(0deg)}50%{opacity:.8;transform:scale(1.1) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(1turn)}}@keyframes mindMapZoomIn{0%{transform:scale(.9);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes mindMapZoomOut{0%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes mindMapPanLeft{0%{transform:translateX(20px);opacity:.7}to{transform:translateX(0);opacity:1}}@keyframes mindMapPanRight{0%{transform:translateX(-20px);opacity:.7}to{transform:translateX(0);opacity:1}}@keyframes mindMapBranchGlow{0%,to{stroke-opacity:.2;filter:drop-shadow(0 0 2px rgba(107,93,229,.2))}50%{stroke-opacity:.6;filter:drop-shadow(0 0 6px rgba(107,93,229,.4))}}.mindmap-node-appear{animation:nodeAppear .5s ease-out forwards}.mindmap-connection-draw{animation:connectionDraw .8s ease-out forwards}.mindmap-node-hover{animation:mindMapNodeHover .2s ease-out forwards}.mindmap-node-select{animation:mindMapNodeSelect .3s ease-out forwards}.mindmap-loading-pulse{animation:mindMapLoadingPulse 2s ease-in-out infinite}.mindmap-expand-button{animation:mindMapExpandButton .6s ease-out forwards}.mindmap-branch-glow{animation:mindMapBranchGlow 2s ease-in-out infinite}.mindmap-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.mindmap-transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.mindmap-transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.mindmap-glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px}.dark .mindmap-glass,.mindmap-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .mindmap-glass{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}.mindmap-shadow-soft{box-shadow:0 2px 8px rgba(0,0,0,.06)}.mindmap-shadow-medium{box-shadow:0 4px 12px rgba(0,0,0,.1)}.mindmap-shadow-strong{box-shadow:0 8px 24px rgba(0,0,0,.15)}.dark .mindmap-shadow-soft{box-shadow:0 2px 8px rgba(0,0,0,.3)}.dark .mindmap-shadow-medium{box-shadow:0 4px 12px rgba(0,0,0,.4)}.dark .mindmap-shadow-strong{box-shadow:0 8px 24px rgba(0,0,0,.6)}.mindmap-button-hover{position:relative;overflow:hidden;transition:all .3s ease}.mindmap-button-hover:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(107,93,229,.1),transparent);transition:left .5s ease}.mindmap-button-hover:hover:before{left:100%}.dark .mindmap-button-hover:before{background:linear-gradient(90deg,transparent,rgba(107,93,229,.2),transparent)}.hover-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.dark .hover-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.4)}.hover-button-glow{transition:all .3s ease}.hover-button-glow:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.dark .hover-button-glow:hover{animation:glow-pulse 2s ease-in-out infinite}.hover-interactive{transition:all .2s ease}.hover-interactive:hover{filter:brightness(1.05)}.dark .hover-interactive:hover{filter:brightness(1.1)}.hover-lift{transition:box-shadow .2s ease}.hover-lift:hover{box-shadow:0 4px 8px rgba(0,0,0,.12)}.dark .hover-lift:hover{box-shadow:0 4px 8px rgba(0,0,0,.4)}.hover-icon{transition:all .2s ease}.hover-icon:hover{transform:scale(1.1);color:#6B5DE5}.dark .hover-icon:hover{color:var(--accent);filter:drop-shadow(0 0 4px rgba(107,93,229,.5))}.hover-bg-light{transition:background-color .2s ease}.hover-bg-light:hover{background-color:rgba(107,93,229,.05)}.dark .hover-bg-light:hover{background-color:rgba(107,93,229,.1)}.hover-border-glow{transition:all .3s ease}.hover-border-glow:hover{border-color:rgba(107,93,229,.3)}.dark .hover-border-glow:hover{border-color:rgba(107,93,229,.6);box-shadow:0 0 10px rgba(107,93,229,.2)}.hover-text-highlight{transition:all .2s ease}.hover-text-highlight:hover{color:#6B5DE5}.dark .hover-text-highlight:hover{color:var(--accent);text-shadow:0 0 8px rgba(107,93,229,.4)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-opacity{transition:opacity .2s ease}.hover-opacity:hover{opacity:.8}.focus-visible-enhanced:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dark .focus-visible-enhanced:focus-visible{outline-color:rgba(107,93,229,.8);box-shadow:0 0 0 4px rgba(107,93,229,.2)}.light button[data-slot=button]:hover:not([class*="hover:bg-"]):not([class*="hover:text-"]),:root:not(.dark) button[data-slot=button]:hover:not([class*="hover:bg-"]):not([class*="hover:text-"]){--accent:#6B5DE5;--accent-foreground:#1A1A1A}.light button[data-slot=button][class*="hover:bg-accent"]:hover,.light button[data-slot=button][class*="hover:text-accent-foreground"]:hover,:root:not(.dark) button[data-slot=button][class*="hover:bg-accent"]:hover,:root:not(.dark) button[data-slot=button][class*="hover:text-accent-foreground"]:hover{background-color:rgba(107,93,229,.1)!important;color:#1A1A1A!important}.light button[data-slot=button][class*=ghost]:hover,.light button[data-slot=button][class*=outline]:hover,.light button[data-slot=button][class*=outline][class*="min-h-[120px]"]:hover,:root:not(.dark) button[data-slot=button][class*=ghost]:hover,:root:not(.dark) button[data-slot=button][class*=outline]:hover,:root:not(.dark) button[data-slot=button][class*=outline][class*="min-h-[120px]"]:hover{color:#1A1A1A!important}.light button[data-slot=button][class*=ghost]:hover *,.light button[data-slot=button][class*=outline]:hover *,.light button[data-slot=button][class*=outline][class*="min-h-[120px]"]:hover *,:root:not(.dark) button[data-slot=button][class*=ghost]:hover *,:root:not(.dark) button[data-slot=button][class*=outline]:hover *,:root:not(.dark) button[data-slot=button][class*=outline][class*="min-h-[120px]"]:hover *{color:inherit!important}.light button[data-slot=button][class*=ghost]:hover .text-sm,.light button[data-slot=button][class*=ghost]:hover .text-xs,.light button[data-slot=button][class*=ghost]:hover span,.light button[data-slot=button][class*=outline]:hover .text-sm,.light button[data-slot=button][class*=outline]:hover .text-xs,.light button[data-slot=button][class*=outline]:hover span,.light button[data-slot=button][class*=outline]:hover span.text-sm.font-medium.block,.light button[data-slot=button][class*=outline]:hover span[class*=text-sm][class*=font-medium][class*=block],:root:not(.dark) button[data-slot=button][class*=ghost]:hover .text-sm,:root:not(.dark) button[data-slot=button][class*=ghost]:hover .text-xs,:root:not(.dark) button[data-slot=button][class*=ghost]:hover span,:root:not(.dark) button[data-slot=button][class*=outline]:hover .text-sm,:root:not(.dark) button[data-slot=button][class*=outline]:hover .text-xs,:root:not(.dark) button[data-slot=button][class*=outline]:hover span,:root:not(.dark) button[data-slot=button][class*=outline]:hover span.text-sm.font-medium.block,:root:not(.dark) button[data-slot=button][class*=outline]:hover span[class*=text-sm][class*=font-medium][class*=block],html:not(.dark) button[data-slot=button]:hover,html:not(.dark) button[data-slot=button]:hover *,html:not(.dark) button[data-slot=button]:hover div,html:not(.dark) button[data-slot=button]:hover span,html:not(.dark) button[data-slot=button][class*=ghost]:hover,html:not(.dark) button[data-slot=button][class*=ghost]:hover *,html:not(.dark) button[data-slot=button][class*=outline]:hover,html:not(.dark) button[data-slot=button][class*=outline]:hover *{color:#1A1A1A!important}.hover-ripple{position:relative;overflow:hidden}.hover-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(107,93,229,.3);transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.hover-ripple:hover:after{width:100px;height:100px}.dark .hover-ripple:after{background:rgba(107,93,229,.5)}