/* Custom animations */ @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 20px rgba(168, 85, 247, 0.5); } 50% { box-shadow: 0 0 40px rgba(168, 85, 247, 0.8); } } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } } .pulse-glow { animation: pulse-glow 2s infinite; } .float-animation { animation: float 3s ease-in-out infinite; } /* Glassmorphism effects */ .glass { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.3); border-radius: 4px; } ::-webkit-scrollbar-thumb { background: rgba(168, 85, 247, 0.5); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: rgba(168, 85, 247, 0.7); } /* Node hover effects */ .node-hover { filter: brightness(1.2); transition: filter 0.3s ease; } /* Connection lines */ .connection-line { stroke: rgba(168, 85, 247, 0.6); stroke-width: 2; fill: none; stroke-dasharray: 5, 5; animation: dash 20s linear infinite; } @keyframes dash { to { stroke-dashoffset: -100; } } /* Active node highlight */ .active-node { filter: drop-shadow(0 0 20px rgba(168, 85, 247, 0.8)); transform: scale(1.1); transition: all 0.3s ease; } /* Gradient text */ .gradient-text { background: linear-gradient(90deg, #a855f7, #ec4899); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Smooth transitions */ * { transition: all 0.3s ease; } /* Canvas container */ #graphCanvas { display: block; background: radial-gradient(circle at center, rgba(168, 85, 247, 0.1) 0%, transparent 70%); } /* Edit mode styles */ .edit-mode-cursor { cursor: crosshair !important; } .connecting-line { stroke: #10b981; stroke-width: 3; stroke-dasharray: 5, 5; animation: dash 1s linear infinite; } .selected-for-connection { filter: drop-shadow(0 0 15px #10b981); animation: pulse-glow 1s infinite; } /* Edit panel styles */ #editPanel input, #editPanel select { color: white; } #editPanel input[type="color"] { -webkit-appearance: none; border: none; width: 100%; } #editPanel input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; } #editPanel input[type="color"]::-webkit-color-swatch { border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 4px; }