Spaces:
Running
Running
*, *::before, *::after { | |
box-sizing: border-box; | |
margin: 0; | |
padding: 0; | |
} | |
:root { | |
--sz: 15px; | |
--c0: #000; | |
--c1: #333; | |
--primary: #10a37f; | |
--secondary: #1a7f64; | |
--dark: #202123; | |
--light: #f7f7f8; | |
--gray: #343541; | |
--success: #10a37f; | |
--accent: #e5e5e5; | |
--border-radius: 12px; | |
--border-radius-lg: 16px; | |
--box-shadow: 0 0 15px rgba(0, 0, 0, 0.05); | |
--transition: all 0.2s ease; | |
--font-main: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; | |
--bg-gradient: linear-gradient(180deg, #f0f4f9 0%, #ffffff 100%); | |
--message-user: #10a37f; | |
--message-ai: #7f56d9; | |
--message-ai_2: #6731db; | |
--message-ai_3: #5b1ae8; | |
--message-error: #ef4444; | |
} | |
html, body { | |
width: 100%; | |
height: 100vh; | |
overflow: hidden; | |
} | |
html { | |
margin: 0; | |
padding: 0; | |
min-height: 100vh; | |
width: 100vw; | |
background: var(--gray); | |
position: relative; | |
overflow-x: hidden; | |
color: var(--light); | |
} | |
html::before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
background: | |
radial-gradient(circle at 20% 30%, rgba(16, 163, 127, 0.05), transparent 40%), | |
radial-gradient(circle at 80% 70%, rgba(127, 86, 217, 0.05), transparent 40%); | |
z-index: -1; | |
} | |
body { | |
margin: 0; | |
padding: 0; | |
min-height: 100vh; | |
background-color: transparent; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
height: 100vh; | |
width: 100vw; | |
position: fixed; | |
top: 0; | |
left: 0; | |
overflow-x: hidden; | |
font-family: var(--font-main); | |
} | |
#root { | |
width: 100%; | |
height: 100%; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
position: relative; | |
} | |
.chat-container { | |
font-family: var(--font-main); | |
width: 100%; | |
max-width: 1000px; | |
height: 100vh; | |
margin: 0 auto; | |
background: transparent; | |
overflow: hidden; | |
display: flex; | |
flex-direction: column; | |
justify-content: center; | |
position: relative; | |
z-index: 1; | |
padding-bottom: 100px; | |
} | |
/* Header style for the container */ | |
.chat-container::before { | |
content: 'Which model should I use?'; | |
display: block; | |
padding: 18px; | |
text-align: center; | |
color: var(--light); | |
font-size: 16px; | |
font-weight: 600; | |
background: transparent; | |
position: relative; | |
letter-spacing: 0.3px; | |
} | |
.chat-container::after { | |
display: none; | |
} | |
.message { | |
width: auto; | |
max-width: 90%; | |
margin: 0; | |
padding: 16px 20px; | |
border-radius: var(--border-radius); | |
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); | |
transition: var(--transition); | |
position: relative; | |
overflow: hidden; | |
font-size: 15px; | |
line-height: 1.5; | |
} | |
.message p { | |
margin: 0 0 8px 0; | |
} | |
.message p:last-child { | |
margin-bottom: 0; | |
} | |
/* Add a messages container for scrolling */ | |
.messages-container { | |
flex: 1; | |
overflow-y: auto; | |
padding: 20px; | |
display: flex; | |
flex-direction: column; | |
gap: 20px; | |
scroll-behavior: smooth; | |
height: calc(100% - 280px); | |
min-height: 200px; | |
background: transparent; | |
} | |
.messages-container::-webkit-scrollbar { | |
width: 6px; | |
} | |
.messages-container::-webkit-scrollbar-track { | |
background: rgba(255, 255, 255, 0.05); | |
border-radius: 8px; | |
} | |
.messages-container::-webkit-scrollbar-thumb { | |
background: rgba(255, 255, 255, 0.1); | |
border-radius: 8px; | |
} | |
.messages-container::-webkit-scrollbar-thumb:hover { | |
background: rgba(255, 255, 255, 0.15); | |
} | |
.user-message { | |
background: var(--dark); | |
margin-left: auto; | |
border-bottom-right-radius: 4px; | |
color: var(--light); | |
padding-left: 16px; | |
border-left: 3px solid var(--message-user); | |
} | |
.feedback-message { | |
background: var(--dark); | |
margin-right: auto; | |
border-bottom-left-radius: 4px; | |
color: var(--light); | |
max-width: 90%; | |
padding-left: 16px; | |
} | |
/* Enhanced success animation */ | |
@keyframes success-pulse { | |
0% { transform: scale(1); } | |
50% { transform: scale(1.03); } | |
100% { transform: scale(1); } | |
} | |
@keyframes success-glow { | |
0% { box-shadow: 0 0 0 0 rgba(16, 163, 127, 0.6); } | |
50% { box-shadow: 0 0 20px rgba(16, 163, 127, 0.4); } | |
100% { box-shadow: 0 0 0 0 rgba(16, 163, 127, 0); } | |
} | |
.feedback-message.success { | |
border-left: 3px solid var(--message-user); | |
animation: success-pulse 0.7s ease-in-out, success-glow 1.5s ease-in-out infinite; | |
} | |
/* Enhanced error animation */ | |
@keyframes shake { | |
0%, 100% { transform: translateX(0) rotate(0); } | |
15% { transform: translateX(-8px) rotate(-1deg); } | |
30% { transform: translateX(7px) rotate(0.8deg); } | |
45% { transform: translateX(-6px) rotate(-0.6deg); } | |
60% { transform: translateX(5px) rotate(0.4deg); } | |
75% { transform: translateX(-3px) rotate(-0.2deg); } | |
90% { transform: translateX(2px) rotate(0.1deg); } | |
} | |
@keyframes error-glow { | |
0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.6); } | |
50% { box-shadow: 0 0 20px rgba(239, 68, 68, 0.4); } | |
100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); } | |
} | |
.feedback-message.error { | |
border-left: 3px solid var(--message-error); | |
animation: shake 0.7s ease-in-out, error-glow 1.5s ease-in-out infinite; | |
} | |
.error-explanation { | |
font-size: 0.9em; | |
opacity: 0.7; | |
margin-top: 10px; | |
font-style: italic; | |
} | |
.answer-reveal { | |
margin-top: 15px; | |
padding-top: 15px; | |
border-top: 1px solid rgba(255, 255, 255, 0.1); | |
} | |
.reveal-button { | |
margin-top: 15px; | |
padding: 8px 16px; | |
background: transparent; | |
border: 1px solid var(--primary); | |
color: var(--primary); | |
border-radius: var(--border-radius); | |
font-size: 14px; | |
cursor: pointer; | |
transition: var(--transition); | |
} | |
.reveal-button:hover { | |
background: rgba(16, 163, 127, 0.1); | |
} | |
button { | |
flex: 1; | |
padding: 10px 16px; | |
border: 1px solid rgba(255, 255, 255, 0.1); | |
border-radius: var(--border-radius); | |
cursor: pointer; | |
font-size: 14px; | |
font-weight: 500; | |
letter-spacing: 0.3px; | |
transition: var(--transition); | |
position: relative; | |
overflow: hidden; | |
background: var(--dark); | |
color: var(--light); | |
} | |
button:hover { | |
background: rgba(255, 255, 255, 0.05); | |
} | |
button:disabled { | |
opacity: 0.5; | |
cursor: not-allowed; | |
background: rgba(255, 255, 255, 0.05); | |
} | |
.active { | |
background: var(--primary); | |
color: white; | |
border-color: var(--primary); | |
} | |
button:not(.active) { | |
background: var(--dark); | |
color: var(--light); | |
} | |
.not-matching { | |
position: relative; | |
} | |
.not-matching::after { | |
content: 'ERROR'; | |
position: absolute; | |
top: -10px; | |
right: -10px; | |
background: red; | |
color: white; | |
padding: 4px 8px; | |
border-radius: 10px; | |
font-size: 12px; | |
font-weight: bold; | |
} | |
.modal-overlay { | |
position: fixed; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
background-color: rgba(0, 0, 0, 0.3); | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
z-index: 1000; | |
backdrop-filter: blur(3px); | |
animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1); | |
} | |
@keyframes fadeIn { | |
from { | |
opacity: 0; | |
backdrop-filter: blur(0); | |
} | |
to { | |
opacity: 1; | |
backdrop-filter: blur(3px); | |
} | |
} | |
.modal { | |
background: transparent; | |
padding: 40px; | |
max-width: 600px; | |
width: 90%; | |
font-family: var(--font-main); | |
color: var(--light); | |
position: relative; | |
overflow: hidden; | |
text-align: center; | |
animation: slideUp 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); | |
} | |
@keyframes slideUp { | |
from { | |
transform: translateY(40px); | |
opacity: 0; | |
} | |
to { | |
transform: translateY(0); | |
opacity: 1; | |
} | |
} | |
.modal h2 { | |
color: var(--light); | |
margin-bottom: 24px; | |
font-size: 24px; | |
font-weight: 600; | |
letter-spacing: 0.3px; | |
opacity: 0.95; | |
} | |
.modal p { | |
font-size: 16px; | |
line-height: 1.6; | |
margin-bottom: 32px; | |
opacity: 0.9; | |
font-weight: 400; | |
} | |
.modal button { | |
background: var(--primary); | |
color: white; | |
border: none; | |
padding: 12px 24px; | |
border-radius: 8px; | |
font-size: 15px; | |
font-weight: 500; | |
cursor: pointer; | |
transition: all 0.2s ease; | |
width: auto; | |
margin: 0 auto; | |
display: inline-flex; | |
} | |
.modal button:hover { | |
background: var(--secondary); | |
transform: translateY(-1px); | |
} | |
/* ...existing styles... */ | |
.answer-button { | |
position: absolute; | |
right: -75px; | |
top: 50%; | |
transform: translateY(-50%); | |
background: var(--primary); | |
color: white; | |
border: none; | |
height: 36px; | |
padding: 0 16px; | |
border-radius: 8px; | |
font-size: 14px; | |
min-width: auto; | |
} | |
.answer-button:hover { | |
background: var(--secondary); | |
} | |
.chat-input { | |
padding-right: 100px; | |
} | |
/* ...rest of existing styles... */ | |
[data-transform-origin=bottom] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=bottom] .ds-fade-in-zoom-in-exit { | |
transform-origin: bottom; | |
} | |
[data-transform-origin=bottom\ left] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=bottom\ left] .ds-fade-in-zoom-in-exit { | |
transform-origin: 0 100%; | |
} | |
[data-transform-origin=bottom\ right] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=bottom\ right] .ds-fade-in-zoom-in-exit { | |
transform-origin: 100% 100%; | |
} | |
[data-transform-origin=top] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=top] .ds-fade-in-zoom-in-exit { | |
transform-origin: top; | |
} | |
[data-transform-origin=top\ left] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=top\ left] .ds-fade-in-zoom-in-exit { | |
transform-origin: 0 0; | |
} | |
[data-transform-origin=top\ right] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=top\ right] .ds-fade-in-zoom-in-exit { | |
transform-origin: 100% 0; | |
} | |
[data-transform-origin=left] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=left] .ds-fade-in-zoom-in-exit { | |
transform-origin: 0; | |
} | |
[data-transform-origin=right] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=right] .ds-fade-in-zoom-in-exit { | |
transform-origin: 100%; | |
} | |
[data-transform-origin=center] .ds-fade-in-zoom-in-enter, | |
[data-transform-origin=center] .ds-fade-in-zoom-in-exit { | |
transform-origin: 50%; | |
} | |
.ds-fade-in-zoom-in-enter { | |
opacity: 0; | |
transform: scale(.96); | |
} | |
.ds-fade-in-zoom-in-active { | |
opacity: 1; | |
transition: opacity var(--ds-ease-in) var(--ds-transition-duration-fast), | |
transform var(--ds-ease-in) var(--ds-transition-duration-fast); | |
transform: scale(1); | |
} | |
.ds-fade-in-zoom-in-exit { | |
opacity: 1; | |
transform: scale(1); | |
} | |
.ds-fade-in-zoom-in-exit-active { | |
opacity: 0; | |
transition: opacity var(--ds-ease-out) var(--ds-transition-duration-fast), | |
transform var(--ds-ease-out) var (--ds-transition-duration-fast); | |
transform: scale(.96); | |
} | |
.standard-button, .answer-button { | |
flex: 1; | |
max-width: 120px; | |
height: 44px; | |
padding: 0 18px; | |
border-radius: var(--border-radius); | |
font-size: 14px; | |
font-weight: 500; | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
transition: var(--transition); | |
} | |
.standard-button { | |
background: rgba(64, 65, 79, 0.9); | |
color: var(--light); | |
border: 1px solid rgba(255, 255, 255, 0.1); | |
} | |
.answer-button { | |
background: var(--primary); | |
color: white; | |
border: none; | |
} | |
.standard-button.active { | |
background: var(--primary); | |
color: white; | |
border-color: var(--primary); | |
box-shadow: 0 0 0 1px rgba(16, 163, 127, 0.2); | |
} | |
.chat-input-container { | |
position: relative; | |
padding: 20px; | |
background: transparent; | |
width: 100%; | |
display: flex; | |
justify-content: center; | |
} | |
.chat-input-wrapper { | |
position: relative; | |
display: flex; | |
flex-direction: column; | |
gap: 12px; | |
width: 100%; | |
max-width: 600px; | |
margin: 0 auto; | |
} | |
.button-group { | |
display: flex; | |
gap: 8px; | |
margin-bottom: 4px; | |
justify-content: center; | |
} | |
.input-with-button { | |
position: relative; | |
display: flex; | |
width: 100%; | |
} | |
.chat-input { | |
width: 100%; | |
min-height: 50px; | |
padding: 14px 16px; | |
border-radius: var(--border-radius); | |
border: 1px solid rgba(255, 255, 255, 0.2); | |
background: rgba(64, 65, 79, 0.3); | |
color: var(--light); | |
font-size: 15px; | |
line-height: 1.5; | |
resize: none; | |
outline: none; | |
transition: var(--transition); | |
font-family: var(--font-main); | |
backdrop-filter: blur(8px); | |
} | |
.chat-input:focus { | |
border-color: var(--primary); | |
background: rgba(64, 65, 79, 0.4); | |
box-shadow: 0 0 0 1px rgba(16, 163, 127, 0.2); | |
} | |
.chat-input::placeholder { | |
color: rgba(255, 255, 255, 0.5); | |
} | |
.standard-button { | |
background: transparent; | |
color: var(--light); | |
border: 1px solid rgba(255, 255, 255, 0.2); | |
padding: 8px 16px; | |
height: 36px; | |
font-size: 13px; | |
border-radius: 8px; | |
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
flex: 0 0 auto; | |
min-width: 90px; | |
} | |
.standard-button:hover { | |
transform: translateY(-2px); | |
background: rgba(255, 255, 255, 0.15); | |
border-color: rgba(255, 255, 255, 0.4); | |
} | |
.standard-button.active { | |
animation: none; | |
} | |
.thinking { | |
display: flex; | |
gap: 8px; | |
padding: 16px 20px; | |
background: var(--dark); | |
border-radius: var(--border-radius); | |
margin-right: auto; | |
align-items: center; | |
position: relative; | |
border-left: 3px solid var(--message-ai); | |
padding-left: 16px; | |
overflow: hidden; | |
} | |
.dot { | |
width: 10px; | |
height: 10px; | |
background: rgba(255, 255, 255, 0.8); | |
border-radius: 50%; | |
animation: bounce 1.4s infinite cubic-bezier(0.455, 0.03, 0.515, 0.955); | |
} | |
.dot:nth-child(1) { | |
animation-delay: -0.32s; | |
background: var(--message-ai); | |
} | |
.dot:nth-child(2) { | |
animation-delay: -0.16s; | |
background: var(--message-ai); | |
} | |
.dot:nth-child(3) { | |
animation-delay: 0s; | |
background: var(--message-ai); | |
} | |
@keyframes bounce { | |
0%, 80%, 100% { | |
transform: scale(0) translateY(0); | |
opacity: 0.3; | |
} | |
40% { | |
transform: scale(1.2) translateY(-10px); | |
opacity: 1; | |
} | |
} | |
/* ...rest of existing code... */ | |
/* Tooltip styles */ | |
.tooltip-wrapper { | |
position: relative; | |
display: inline-block; | |
} | |
.tooltip { | |
position: absolute; | |
bottom: calc(100% + 10px); | |
left: 50%; | |
transform: translateX(-50%) translateY(15px); | |
background: var(--dark); | |
color: var(--light); | |
padding: 12px 16px; | |
border-radius: 8px; | |
font-size: 13px; | |
width: 200px; | |
text-align: center; | |
opacity: 0; | |
visibility: hidden; | |
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); | |
border: 1px solid rgba(255, 255, 255, 0.1); | |
pointer-events: none; | |
z-index: 100; | |
line-height: 1.4; | |
} | |
.tooltip::after { | |
content: ''; | |
position: absolute; | |
top: 100%; | |
left: 50%; | |
transform: translateX(-50%); | |
border: 6px solid transparent; | |
border-top-color: var(--dark); | |
} | |
.tooltip-wrapper:hover .tooltip { | |
transform: translateX(-50%) translateY(0); | |
opacity: 1; | |
visibility: visible; | |
} | |
/* Input typing animation */ | |
@keyframes typing { | |
0% { width: 0; opacity: 0; } | |
100% { width: 100%; opacity: 1; } | |
} | |
/* Default state - no animation */ | |
.chat-input { | |
opacity: 1; | |
width: 100%; | |
animation: none; | |
} | |
/* Only animate when new-prompt class is applied */ | |
.chat-input.new-prompt { | |
animation: typing 0.8s ease-out forwards; | |
} | |
/* ...rest of existing styles... */ | |
/* Update button styles for independent selection */ | |
.standard-button.active { | |
background: var(--primary); | |
color: white; | |
border-color: var(--primary); | |
box-shadow: 0 0 0 1px rgba(16, 163, 127, 0.2); | |
} | |
/* Remove the pulse animation from active buttons */ | |
.standard-button.active { | |
animation: none; | |
} | |
/* Message appear animation */ | |
@keyframes messageAppear { | |
0% { | |
opacity: 0; | |
transform: translateY(20px) scale(0.96); | |
} | |
100% { | |
opacity: 1; | |
transform: translateY(0) scale(1); | |
} | |
} | |
/* Apply message animation only to user messages */ | |
.user-message.message-appear { | |
animation: messageAppear 0.5s cubic-bezier(0.2, 0.6, 0.3, 1) forwards; | |
} | |
/* Remove message-appear animation from feedback messages that have their own animations */ | |
.feedback-message.success.message-appear { | |
animation: success-pulse 0.7s ease-in-out, success-glow 1.5s ease-in-out infinite; | |
} | |
.feedback-message.error.message-appear { | |
animation: shake 0.7s ease-in-out, error-glow 1.5s ease-in-out infinite; | |
} | |
/* Add a basic appearance for thinking animation */ | |
.thinking.message-appear { | |
animation: messageAppear 0.5s cubic-bezier(0.2, 0.6, 0.3, 1) forwards; | |
} | |
/* ...rest of existing styles... */ | |
/* Corner images */ | |
.corner-image { | |
position: fixed; | |
z-index: 0; | |
pointer-events: none; /* So they don't interfere with interactions */ | |
opacity: 0.7; | |
transition: opacity 0.3s ease; | |
} | |
.corner-image:hover { | |
opacity: 1; | |
} | |
.corner-image-top-left { | |
top: 20px; | |
left: 20px; | |
max-width: 120px; | |
max-height: 120px; | |
animation: floatAnimation 6s ease-in-out infinite; | |
} | |
.corner-image-bottom-right { | |
bottom: 20px; | |
right: 20px; | |
max-width: 140px; | |
max-height: 140px; | |
animation: floatAnimation 8s ease-in-out infinite reverse; | |
} | |
@keyframes floatAnimation { | |
0% { | |
transform: translateY(0) rotate(0deg); | |
} | |
50% { | |
transform: translateY(-15px) rotate(5deg); | |
} | |
100% { | |
transform: translateY(0) rotate(0deg); | |
} | |
} | |
/* Make sure images don't interfere with mobile layout */ | |
@media (max-width: 768px) { | |
.corner-image { | |
max-width: 80px; | |
max-height: 80px; | |
} | |
.corner-image-top-left { | |
top: 10px; | |
left: 10px; | |
} | |
.corner-image-bottom-right { | |
bottom: 10px; | |
right: 10px; | |
} | |
} | |
/* Company logo in corner */ | |
.company-logo { | |
position: fixed; | |
bottom: 20px; | |
max-width: 280px; /* Much larger size */ | |
max-height: 140px; /* Much larger size */ | |
z-index: 5; | |
opacity: 0.9; | |
transition: opacity 0.3s ease, transform 0.3s ease; | |
} | |
.company-logo:hover { | |
opacity: 1; | |
transform: scale(1.05); /* Slight grow effect on hover */ | |
} | |
/* Make sure logo doesn't interfere with mobile layout */ | |
@media (max-width: 768px) { | |
.company-logo { | |
max-width: 180px; /* Larger but still reasonable for mobile */ | |
max-height: 90px; | |
bottom: 10px; | |
} | |
} | |
/* ...rest of existing styles... */ | |
/* Add specific styling for the input tooltip */ | |
.input-tooltip-wrapper { | |
width: 100%; | |
display: block; | |
} | |
.input-tooltip { | |
width: 250px; | |
bottom: calc(100% + 15px); | |
} | |
/* Ensure tooltip appears over the textarea */ | |
.input-with-button .tooltip-wrapper { | |
position: relative; | |
width: 100%; | |
} | |
/* ...existing styles... */ | |
/* Energy Animation at the top */ | |
.energy-animation { | |
position: fixed; | |
top: -100px; | |
left: 50%; | |
transform: translateX(-50%); | |
background: var(--dark); | |
border-radius: var(--border-radius-lg); | |
padding: 15px 25px; | |
display: flex; | |
align-items: center; | |
gap: 15px; | |
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); | |
z-index: 1000; | |
border: 1px solid rgba(255, 255, 255, 0.1); | |
transition: top 0.6s cubic-bezier(0.2, 0.9, 0.3, 1.5); | |
opacity: 0; | |
} | |
.energy-animation.show { | |
top: 20px; | |
opacity: 1; | |
} | |
.energy-icon { | |
font-size: 28px; | |
animation: pulse 2s infinite; | |
} | |
.energy-text { | |
font-size: 16px; | |
font-weight: 500; | |
color: var(--light); | |
max-width: 260px; | |
} | |
@keyframes pulse { | |
0% { | |
transform: scale(1); | |
opacity: 1; | |
} | |
50% { | |
transform: scale(1.2); | |
opacity: 0.8; | |
} | |
100% { | |
transform: scale(1); | |
opacity: 1; | |
} | |
} | |
/* Responsive design for the animation */ | |
@media (max-width: 768px) { | |
.energy-animation { | |
width: 90%; | |
padding: 12px 18px; | |
} | |
.energy-text { | |
font-size: 14px; | |
} | |
.energy-icon { | |
font-size: 24px; | |
} | |
} | |
/* ...existing styles... */ | |
/* Message send animation */ | |
@keyframes messageSend { | |
0% { | |
opacity: 0; | |
transform: translateY(30px) scale(0.9); | |
} | |
70% { | |
opacity: 1; | |
transform: translateY(-5px) scale(1.02); | |
} | |
100% { | |
opacity: 1; | |
transform: translateY(0) scale(1); | |
} | |
} | |
.message-send-animation { | |
animation: messageSend 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; | |
} | |
/* Stagger animations for multiple messages */ | |
.messages-container > div:nth-child(2) { | |
animation-delay: 0.15s; | |
} | |
.messages-container > div:nth-child(3) { | |
animation-delay: 0.3s; | |
} | |
/* ...existing styles... */ | |
/* Company logos in corners - both at the bottom */ | |
.company-logo { | |
position: fixed; | |
bottom: 20px; | |
max-width: 280px; | |
max-height: 140px; | |
z-index: 5; | |
opacity: 0.9; | |
transition: opacity 0.3s ease, transform 0.3s ease; | |
} | |
.company-logo:hover { | |
opacity: 1; | |
transform: scale(1.05); /* Slight grow effect on hover */ | |
} | |
.company-logo-right { | |
right: 20px; | |
} | |
.company-logo-left { | |
left: 20px; | |
} | |
/* Make sure logos don't interfere with mobile layout */ | |
@media (max-width: 768px) { | |
.company-logo { | |
max-width: 180px; | |
max-height: 90px; | |
bottom: 10px; | |
} | |
.company-logo-right { | |
right: 10px; | |
} | |
.company-logo-left { | |
left: 10px; | |
} | |
} | |
/* ...existing styles... */ | |