|
|
|
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); |
|
|
|
|
|
* { |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
box-sizing: border-box; |
|
|
} |
|
|
|
|
|
body { |
|
|
font-family: 'Inter', sans-serif; |
|
|
background: linear-gradient(135deg, #0f172a 0%, #111827 50%, #1f2937 100%); |
|
|
min-height: 100vh; |
|
|
} |
|
|
|
|
|
|
|
|
::-webkit-scrollbar { |
|
|
width: 6px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-track { |
|
|
background: #1f2937; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb { |
|
|
background: linear-gradient(45deg, #d946ef, #8b5cf6); |
|
|
border-radius: 3px; |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes float { |
|
|
0%, 100% { transform: translateY(0px); } |
|
|
50% { transform: translateY(-10px); } |
|
|
} |
|
|
|
|
|
@keyframes glow { |
|
|
0%, 100% { box-shadow: 0 0 20px rgba(217, 70, 239, 0.3); } |
|
|
50% { box-shadow: 0 0 40px rgba(217, 70, 239, 0.6); } |
|
|
} |
|
|
|
|
|
@keyframes pulse-glow { |
|
|
0%, 100% { opacity: 1; } |
|
|
50% { opacity: 0.7; } |
|
|
} |
|
|
|
|
|
.floating { |
|
|
animation: float 3s ease-in-out infinite; |
|
|
} |
|
|
|
|
|
.glow { |
|
|
animation: glow 2s ease-in-out infinite alternate; |
|
|
} |
|
|
|
|
|
.pulse-glow { |
|
|
animation: pulse-glow 2s ease-in-out infinite; |
|
|
} |
|
|
|
|
|
|
|
|
.chat-bubble { |
|
|
transform-origin: left bottom; |
|
|
animation: messageAppear 0.3s ease-out; |
|
|
} |
|
|
|
|
|
@keyframes messageAppear { |
|
|
from { |
|
|
opacity: 0; |
|
|
transform: scale(0.8) translateY(10px); |
|
|
} |
|
|
to { |
|
|
opacity: 1; |
|
|
transform: scale(1) translateY(0); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.voice-recording { |
|
|
animation: voicePulse 1.5s ease-in-out infinite; |
|
|
} |
|
|
|
|
|
@keyframes voicePulse { |
|
|
0%, 100% { transform: scale(1); opacity: 1; } |
|
|
50% { transform: scale(1.05); opacity: 0.8; } |
|
|
} |
|
|
|
|
|
|
|
|
.typing-dot { |
|
|
animation: typingAnimation 1.4s infinite ease-in-out; |
|
|
} |
|
|
|
|
|
.typing-dot:nth-child(1) { animation-delay: -0.32s; } |
|
|
.typing-dot:nth-child(2) { animation-delay: -0.16s; } |
|
|
|
|
|
@keyframes typingAnimation { |
|
|
0%, 80%, 100% { transform: scale(0); } |
|
|
40% { transform: scale(1); } |
|
|
} |
|
|
|
|
|
|
|
|
.gradient-text { |
|
|
background: linear-gradient(45deg, #d946ef, #8b5cf6); |
|
|
-webkit-background-clip: text; |
|
|
-webkit-text-fill-color: transparent; |
|
|
background-clip: text; |
|
|
} |
|
|
|
|
|
|
|
|
.glass { |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
backdrop-filter: blur(10px); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
} |
|
|
|
|
|
|
|
|
.btn-primary { |
|
|
background: linear-gradient(45deg, #d946ef, #8b5cf6); |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.btn-primary:hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: 0 10px 25px rgba(217, 70, 239, 0.3); |
|
|
} |
|
|
|
|
|
|
|
|
.progress-fill { |
|
|
transition: width 0.5s ease-in-out; |
|
|
} |
|
|
|
|
|
|
|
|
.emotion-happy { color: #10b981; } |
|
|
.emotion-neutral { color: #6b7280; } |
|
|
.emotion-sad { color: #ef4444; } |
|
|
.emotion-excited { color: #f59e0b; } |
|
|
.emotion-calm { color: #3b82f6; } |
|
|
|
|
|
|
|
|
[dir="rtl"] .chat-bubble-user { |
|
|
transform-origin: right bottom; |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 768px) { |
|
|
.mobile-padding { |
|
|
padding-left: 1rem; |
|
|
padding-right: 1rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.dark-mode-toggle { |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.dark-mode-toggle:hover { |
|
|
transform: rotate(12deg); |
|
|
} |
|
|
|
|
|
|
|
|
.tier-card { |
|
|
transition: all 0.3s ease; |
|
|
border: 2px solid transparent; |
|
|
} |
|
|
|
|
|
.tier-card:hover { |
|
|
border-color: #d946ef; |
|
|
transform: translateY(-5px); |
|
|
} |
|
|
|
|
|
|
|
|
.loading-spinner { |
|
|
animation: spin 1s linear infinite; |
|
|
} |
|
|
|
|
|
@keyframes spin { |
|
|
from { transform: rotate(0deg); } |
|
|
to { transform: rotate(360deg); } |
|
|
} |
|
|
|
|
|
|
|
|
.voice-wave { |
|
|
animation: wave 1.5s infinite ease-in-out; |
|
|
} |
|
|
|
|
|
.voice-wave:nth-child(2) { animation-delay: -0.3s; } |
|
|
.voice-wave:nth-child(3) { animation-delay: -0.6s; } |
|
|
.voice-wave:nth-child(4) { animation-delay: -0.9s; } |
|
|
|
|
|
@keyframes wave { |
|
|
0%, 100% { transform: scaleY(0.3); } |
|
|
50% { transform: scaleY(1); } |
|
|
} |
|
|
|
|
|
|
|
|
@media (prefers-reduced-motion: reduce) { |
|
|
* { |
|
|
animation-duration: 0.01ms !important; |
|
|
animation-iteration-count: 1 !important; |
|
|
transition-duration: 0.01ms !important; |
|
|
} |
|
|
} |