/* Additional custom styles for PromptForge AI */ /* Smooth transitions for theme changes */ * { transition: background-color 0.3s ease, border-color 0.3s ease, color 0.2s ease; } /* Custom scrollbar for webkit browsers */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: rgba(17, 24, 39, 0.5); } ::-webkit-scrollbar-thumb { background: rgba(75, 85, 99, 0.5); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: rgba(107, 114, 128, 0.8); } /* Animation classes */ .fade-in { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Glass morphism enhancement */ .glass-panel { background: rgba(17, 24, 39, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); } /* Workflow node enhancements */ .workflow-node { position: relative; background: linear-gradient(145deg, rgba(31, 41, 55, 0.9), rgba(17, 24, 39, 0.9)); } .workflow-node::before { content: ''; position: absolute; inset: 0; border-radius: 1rem; padding: 1px; background: linear-gradient(135deg, rgba(255,255,255,0.1), transparent); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; } /* Input textarea styling */ textarea { background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 100% 1.5rem; line-height: 1.5rem; } /* Range input styling */ input[type="range"] { -webkit-appearance: none; appearance: none; height: 4px; background: rgba(255,255,255,0.1); border-radius: 2px; outline: none; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 16px; height: 16px; background: currentColor; border-radius: 50%; cursor: pointer; transition: transform 0.1s; } input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.2); } /* Connection lines animation */ @keyframes dash { to { stroke-dashoffset: -20; } } .workflow-connector { stroke-dasharray: 5, 5; animation: dash 1s linear infinite; } /* Hover effects */ .hover-lift { transition: transform 0.2s, box-shadow 0.2s; } .hover-lift:hover { transform: translateY(-2px); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3); } /* Loading states */ .loading-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } /* Responsive adjustments */ @media (max-width: 1024px) { .glass-panel { backdrop-filter: blur(8px); } } @media (max-width: 768px) { #configPanel { position: fixed; bottom: 0; left: 0; right: 0; height: 50vh; z-index: 40; transform: translateY(100%); transition: transform 0.3s ease; } #configPanel.open { transform: translateY(0); } }