|
|
|
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); |
|
|
|
|
|
:root { |
|
|
--primary-blue: #2563eb; |
|
|
--primary-blue-dark: #1d4ed8; |
|
|
--success-green: #10b981; |
|
|
--error-red: #ef4444; |
|
|
--warning-orange: #f59e0b; |
|
|
} |
|
|
|
|
|
* { |
|
|
font-family: 'Inter', sans-serif; |
|
|
} |
|
|
|
|
|
|
|
|
::-webkit-scrollbar { |
|
|
width: 6px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-track { |
|
|
background: #f1f5f9; |
|
|
border-radius: 3px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb { |
|
|
background: #cbd5e1; |
|
|
border-radius: 3px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb:hover { |
|
|
background: #94a3b8; |
|
|
} |
|
|
|
|
|
|
|
|
@keyframes typing-dots { |
|
|
0%, 20% { |
|
|
opacity: 0; |
|
|
} |
|
|
50% { |
|
|
opacity: 1; |
|
|
} |
|
|
100% { |
|
|
opacity: 0; |
|
|
} |
|
|
} |
|
|
|
|
|
.typing-dot { |
|
|
animation: typing-dots 1.4s infinite ease-in-out; |
|
|
} |
|
|
|
|
|
.typing-dot:nth-child(2) { |
|
|
animation-delay: 0.2s; |
|
|
} |
|
|
|
|
|
.typing-dot:nth-child(3) { |
|
|
animation-delay: 0.4s; |
|
|
} |
|
|
|
|
|
|
|
|
.message-enter { |
|
|
opacity: 0; |
|
|
transform: translateY(10px); |
|
|
} |
|
|
|
|
|
.message-enter-active { |
|
|
opacity: 1; |
|
|
transform: translateY(0); |
|
|
transition: opacity 300ms, transform 300ms; |
|
|
} |
|
|
|
|
|
|
|
|
.code-block { |
|
|
background: #1e293b; |
|
|
color: #e2e8f0; |
|
|
border-radius: 8px; |
|
|
overflow: hidden; |
|
|
margin: 1rem 0; |
|
|
} |
|
|
|
|
|
.code-header { |
|
|
background: #334155; |
|
|
padding: 0.75rem 1rem; |
|
|
font-size: 0.875rem; |
|
|
color: #94a3b8; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
} |
|
|
|
|
|
.code-content { |
|
|
padding: 1rem; |
|
|
overflow-x: auto; |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 767px) { |
|
|
.mobile-hidden { |
|
|
display: none; |
|
|
} |
|
|
|
|
|
.mobile-full { |
|
|
width: 100%; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.focus-visible { |
|
|
outline: 2px solid var(--primary-blue); |
|
|
outline-offset: 2px; |
|
|
} |
|
|
|
|
|
|
|
|
.spinner { |
|
|
border: 2px solid #f3f4f6; |
|
|
border-top: 2px solid var(--primary-blue); |
|
|
border-radius: 50%; |
|
|
width: 20px; |
|
|
height: 20px; |
|
|
animation: spin 1s linear infinite; |
|
|
} |
|
|
|
|
|
@keyframes spin { |
|
|
0% { transform: rotate(0deg); } |
|
|
100% { transform: rotate(360deg); } |
|
|
} |