jeongsoo's picture
Add application file
babf3f3
/* 곡톡 μŠ€νƒ€μΌ */
body {
background-color: #f8f9fa;
min-height: 100vh;
display: flex;
flex-direction: column;
}
footer {
margin-top: auto;
}
/* μ±„νŒ… μ˜μ—­ μŠ€νƒ€μΌ */
.chat-messages {
max-height: 500px;
overflow-y: auto;
padding-right: 5px;
}
/* μ‚¬μš©μž 및 봇 λ©”μ‹œμ§€ 곡톡 μŠ€νƒ€μΌ */
.chat-message {
margin-bottom: 15px;
}
.message-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
flex-shrink: 0;
}
.message-content {
flex-grow: 1;
background-color: #ffffff;
border-radius: 12px;
padding: 12px 15px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
position: relative;
}
/* μ‚¬μš©μž λ©”μ‹œμ§€ μŠ€νƒ€μΌ */
.user-message .message-content {
background-color: #e9f5ff;
border: 1px solid #cce5ff;
}
/* 봇 λ©”μ‹œμ§€ μŠ€νƒ€μΌ */
.bot-message .message-content {
background-color: #ffffff;
border: 1px solid #e9ecef;
}
/* λ©”μ‹œμ§€ ν…μŠ€νŠΈ μŠ€νƒ€μΌ */
.message-text {
white-space: pre-wrap;
word-break: break-word;
}
.message-text code {
background-color: #f5f5f5;
padding: 2px 4px;
border-radius: 4px;
font-family: 'Courier New', monospace;
}
.message-text pre {
background-color: #f5f5f5;
padding: 10px;
border-radius: 5px;
margin: 10px 0;
overflow-x: auto;
}
.message-text blockquote {
border-left: 4px solid #ced4da;
padding-left: 15px;
color: #6c757d;
margin: 10px 0;
}
.message-metadata {
font-size: 0.85rem;
color: #6c757d;
}
/* μŒμ„± μž…λ ₯ λ²„νŠΌ μŠ€νƒ€μΌ */
#micButton.recording {
background-color: #dc3545;
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% {
opacity: 1;
}
50% {
opacity: 0.7;
}
100% {
opacity: 1;
}
}
/* λ“œλ‘­μ‘΄ μŠ€νƒ€μΌ */
.dropzone {
border: 2px dashed #ccc;
border-radius: 5px;
background-color: #f8f9fa;
min-height: 150px;
}
.dropzone:hover {
border-color: #198754;
}
.dropzone .dz-preview {
margin: 10px;
}
/* μ†ŒμŠ€ λͺ©λ‘ μŠ€νƒ€μΌ */
.source-item {
border-left: 3px solid #28a745;
background-color: #f8f9fa;
}
.source-score {
width: 40px;
height: 40px;
border-radius: 50%;
background-color: #28a745;
color: white;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}
/* μƒμž μ• λ‹ˆλ©”μ΄μ…˜ 효과 */
.fade-in {
animation: fadeIn 0.5s;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
/* μŠ€ν¬λ‘€λ°” μŠ€νƒ€μΌ */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: #a1a1a1;
}
/* λͺ¨λ°”일 λ°˜μ‘ν˜• μŠ€νƒ€μΌ */
@media (max-width: 768px) {
.message-avatar {
width: 35px;
height: 35px;
}
.message-content {
padding: 10px;
}
}