Spaces:
Running
Running
File size: 3,196 Bytes
c121bbc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | /* 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);
}
} |