Spaces:
Runtime error
Runtime error
/* | |
* Quantum Animation Styles | |
* Provides visual effects for the quantum transitions and particle animations | |
*/ | |
/* Particle Canvas */ | |
.particle-canvas { | |
position: fixed; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
pointer-events: none; | |
z-index: 1000; | |
backdrop-filter: blur(3px); | |
opacity: 0; | |
transition: opacity 0.3s ease; | |
} | |
.particle-canvas.active { | |
opacity: 1; | |
} | |
/* Quantum Overlay */ | |
#quantum-overlay { | |
position: fixed; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background-color: rgba(10, 10, 16, 0.92); | |
display: none; | |
justify-content: center; | |
align-items: center; | |
z-index: 2000; | |
opacity: 0; | |
transition: opacity 0.3s ease-in-out; | |
overflow: hidden; | |
} | |
#quantum-overlay::before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background: url('/static/images/quantum-bg.svg'); | |
background-size: cover; | |
opacity: 0.2; | |
z-index: -1; | |
filter: blur(2px); | |
animation: quantum-bg-pulse 8s infinite alternate; | |
} | |
#quantum-overlay::after { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background: radial-gradient( | |
circle at center, | |
rgba(218, 75, 134, 0.15), | |
rgba(10, 10, 16, 0.2) 60% | |
); | |
z-index: -1; | |
animation: quantum-pulse 4s infinite alternate; | |
} | |
#quantum-overlay.active { | |
opacity: 1; | |
} | |
@keyframes quantum-bg-pulse { | |
0% { | |
opacity: 0.1; | |
transform: scale(1); | |
} | |
100% { | |
opacity: 0.3; | |
transform: scale(1.05); | |
} | |
} | |
/* Quantum Loader */ | |
.quantum-loader { | |
display: flex; | |
flex-direction: column; | |
align-items: center; | |
perspective: 1000px; | |
} | |
.quantum-spinner { | |
position: relative; | |
width: 150px; | |
height: 150px; | |
transform-style: preserve-3d; | |
animation: quantum-spin 8s linear infinite; | |
} | |
.quantum-message { | |
margin-top: 20px; | |
color: white; | |
font-size: 1.2rem; | |
font-weight: 300; | |
letter-spacing: 2px; | |
animation: quantum-pulse 2s infinite; | |
} | |
/* Quantum Orbits */ | |
.q-orbit { | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
border-radius: 50%; | |
border: 2px solid transparent; | |
} | |
.q-orbit-1 { | |
border-top-color: #da4b86; | |
border-bottom-color: #da4b86; | |
animation: orbit-spin-1 3s linear infinite; | |
box-shadow: 0 0 10px rgba(218, 75, 134, 0.5); | |
} | |
.q-orbit-2 { | |
width: 120px; | |
height: 120px; | |
margin: 15px; | |
border-left-color: #6f42c1; | |
border-right-color: #6f42c1; | |
animation: orbit-spin-2 4s linear infinite; | |
box-shadow: 0 0 10px rgba(111, 66, 193, 0.5); | |
} | |
.q-orbit-3 { | |
width: 80px; | |
height: 80px; | |
margin: 35px; | |
border-top-color: #0dcaf0; | |
border-right-color: #0dcaf0; | |
animation: orbit-spin-3 2s linear infinite; | |
box-shadow: 0 0 10px rgba(13, 202, 240, 0.5); | |
} | |
.q-core { | |
position: absolute; | |
top: 50%; | |
left: 50%; | |
width: 30px; | |
height: 30px; | |
margin-top: -15px; | |
margin-left: -15px; | |
background: radial-gradient(circle, #da4b86, #6f42c1); | |
border-radius: 50%; | |
box-shadow: 0 0 20px #da4b86, 0 0 40px #6f42c1; | |
animation: pulse 2s ease-in-out infinite alternate; | |
} | |
/* Animation for result cards */ | |
.card { | |
transition: all 0.5s cubic-bezier(0.215, 0.610, 0.355, 1.000); | |
} | |
.quantum-reveal { | |
animation: quantum-reveal 0.8s cubic-bezier(0.215, 0.610, 0.355, 1.000) forwards; | |
} | |
/* Special effects for quantum visualization */ | |
.quantum-visualized { | |
position: relative; | |
overflow: hidden; | |
} | |
.quantum-visualized::before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background: radial-gradient(circle, transparent 50%, rgba(66, 133, 244, 0.1) 100%); | |
pointer-events: none; | |
animation: quantum-pulse 8s infinite alternate; | |
} | |
/* Define animations */ | |
@keyframes quantum-spin { | |
0% { | |
transform: rotateY(0) rotateX(0); | |
} | |
25% { | |
transform: rotateY(90deg) rotateX(45deg); | |
} | |
50% { | |
transform: rotateY(180deg) rotateX(0); | |
} | |
75% { | |
transform: rotateY(270deg) rotateX(-45deg); | |
} | |
100% { | |
transform: rotateY(360deg) rotateX(0); | |
} | |
} | |
@keyframes orbit-spin-1 { | |
from { transform: rotateZ(0deg); } | |
to { transform: rotateZ(360deg); } | |
} | |
@keyframes orbit-spin-2 { | |
from { transform: rotateY(0deg) rotateX(60deg); } | |
to { transform: rotateY(360deg) rotateX(60deg); } | |
} | |
@keyframes orbit-spin-3 { | |
from { transform: rotateY(60deg) rotateX(0deg); } | |
to { transform: rotateY(60deg) rotateX(360deg); } | |
} | |
@keyframes pulse { | |
from { | |
transform: scale(0.8); | |
box-shadow: 0 0 20px #da4b86, 0 0 40px #6f42c1; | |
} | |
to { | |
transform: scale(1.1); | |
box-shadow: 0 0 30px #da4b86, 0 0 60px #0dcaf0; | |
} | |
} | |
@keyframes quantum-pulse { | |
0% { | |
opacity: 0.6; | |
} | |
50% { | |
opacity: 1; | |
} | |
100% { | |
opacity: 0.6; | |
} | |
} | |
@keyframes quantum-reveal { | |
from { | |
opacity: 0; | |
transform: translateY(30px) scale(0.95); | |
} | |
to { | |
opacity: 1; | |
transform: translateY(0) scale(1); | |
} | |
} | |
/* Smoke dispersion effect */ | |
.smoke-particle { | |
position: absolute; | |
border-radius: 50%; | |
background-color: rgba(255, 255, 255, 0.8); | |
filter: blur(10px); | |
pointer-events: none; | |
} | |
/* Tumbleweed whirlwind effect */ | |
.tumbleweed { | |
position: absolute; | |
width: 50px; | |
height: 50px; | |
border-radius: 50%; | |
background: radial-gradient(circle, rgba(120, 120, 120, 0.8), rgba(80, 80, 80, 0.5)); | |
filter: blur(5px); | |
transition: transform 0.5s, opacity 0.5s; | |
pointer-events: none; | |
} | |
/* Dynamic transition effect */ | |
.transition-fade { | |
opacity: 0; | |
transition: opacity 0.5s ease; | |
} | |
.transition-fade.show { | |
opacity: 1; | |
} | |
/* Text to vision transition */ | |
.text-to-vision { | |
position: relative; | |
overflow: hidden; | |
} | |
.text-to-vision::after { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background: linear-gradient(to right, transparent, rgba(66, 133, 244, 0.2), transparent); | |
transform: translateX(-100%); | |
animation: text-scan 2s linear infinite; | |
} | |
/* Text-to-vision transition with smoke effect */ | |
.text-to-vision-active { | |
animation: smoke-disperse 1.5s ease-out forwards; | |
} | |
/* Smoke transition effect */ | |
@keyframes smoke-disperse { | |
0% { | |
filter: blur(0); | |
opacity: 1; | |
transform: scale(1); | |
} | |
50% { | |
filter: blur(5px); | |
opacity: 0.7; | |
transform: scale(1.02) translateY(5px); | |
} | |
100% { | |
filter: blur(0); | |
opacity: 1; | |
transform: scale(1); | |
} | |
} | |
@keyframes text-scan { | |
0% { | |
transform: translateX(-100%); | |
} | |
100% { | |
transform: translateX(100%); | |
} | |
} | |
/* Quantum pulse animation for visualized elements */ | |
.quantum-visualized { | |
--quantum-pulse-intensity: 0.5; | |
} | |
.quantum-visualized::before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
background: radial-gradient( | |
circle at center, | |
rgba(66, 133, 244, calc(0.1 * var(--quantum-pulse-intensity))), | |
transparent 70% | |
); | |
opacity: 0.7; | |
z-index: -1; | |
animation: quantum-pulse calc(8s / var(--quantum-pulse-intensity)) infinite alternate; | |
} | |
/* Special effect for quantum score badge */ | |
.quantum-score { | |
position: relative; | |
transition: all 0.3s ease; | |
animation: score-pulse 3s infinite alternate; | |
border-radius: 8px; | |
overflow: hidden; | |
} | |
.quantum-score::before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
background: linear-gradient(45deg, | |
rgba(218, 75, 134, 0.3), | |
rgba(111, 66, 193, 0.3), | |
rgba(13, 202, 240, 0.3) | |
); | |
opacity: 0.3; | |
z-index: -1; | |
} | |
.quantum-score:hover { | |
transform: scale(1.1); | |
box-shadow: 0 0 15px rgba(218, 75, 134, 0.5); | |
} | |
@keyframes score-pulse { | |
0% { | |
box-shadow: 0 0 5px rgba(218, 75, 134, 0.4); | |
text-shadow: 0 0 3px rgba(218, 75, 134, 0.4); | |
} | |
50% { | |
box-shadow: 0 0 8px rgba(111, 66, 193, 0.5); | |
text-shadow: 0 0 5px rgba(111, 66, 193, 0.5); | |
} | |
100% { | |
box-shadow: 0 0 12px rgba(13, 202, 240, 0.6); | |
text-shadow: 0 0 8px rgba(13, 202, 240, 0.6); | |
} | |
} | |
/* Tumbleweed/whirlwind effect with smoke-like appearance */ | |
.tumbleweed { | |
position: absolute; | |
border-radius: 50%; | |
background: radial-gradient(circle at 30% 30%, | |
rgba(255, 255, 255, 0.3), | |
rgba(218, 75, 134, 0.15) 20%, | |
rgba(111, 66, 193, 0.1) 40%, | |
rgba(13, 202, 240, 0.05) 60%, | |
transparent 80% | |
); | |
box-shadow: 0 0 12px rgba(218, 75, 134, 0.2); | |
opacity: 0.7; | |
pointer-events: none; | |
filter: blur(3px); | |
transform-origin: center center; | |
animation: tumbleweed-rotate 10s linear infinite; | |
} | |
@keyframes tumbleweed-rotate { | |
0% { transform: rotate(0deg) scale(1); } | |
25% { transform: rotate(90deg) scale(1.2); } | |
50% { transform: rotate(180deg) scale(1); } | |
75% { transform: rotate(270deg) scale(0.8); } | |
100% { transform: rotate(360deg) scale(1); } | |
} | |
/* Quantum particle effect */ | |
.quantum-particle { | |
position: fixed; | |
width: 3px; | |
height: 3px; | |
border-radius: 50%; | |
pointer-events: none; | |
z-index: 1000; | |
opacity: 0.7; | |
box-shadow: 0 0 4px currentColor; | |
animation: particle-fade 1s ease-out forwards; | |
} | |
@keyframes particle-fade { | |
0% { | |
transform: scale(1); | |
opacity: 0.7; | |
} | |
100% { | |
transform: scale(0); | |
opacity: 0; | |
} | |
} | |
/* Quantum reveal animation for cards */ | |
.quantum-card { | |
opacity: 0; | |
transform: translateY(20px); | |
transition: opacity 0.5s ease, transform 0.5s ease; | |
} | |
.quantum-card.quantum-reveal { | |
opacity: 1; | |
transform: translateY(0); | |
} | |
/* Quantum pulse animation for the background */ | |
@keyframes quantum-pulse { | |
0% { | |
opacity: 0.3; | |
transform: scale(0.95); | |
} | |
50% { | |
opacity: 0.5; | |
transform: scale(1.05); | |
} | |
100% { | |
opacity: 0.3; | |
transform: scale(0.95); | |
} | |
} | |
/* Atom spin animation for the icon */ | |
.quantum-spin { | |
display: inline-block; | |
animation: atom-spin 10s linear infinite; | |
} | |
@keyframes atom-spin { | |
from { | |
transform: rotate(0deg); | |
} | |
to { | |
transform: rotate(360deg); | |
} | |
} |