body { font-family: 'Inter', sans-serif; background-color: #f8f9fb; color: #1f2937; transition: background-color 0.3s ease, color 0.3s ease; } /* Sidebar */ #sidebar { transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15); } #sidebar.hidden { transform: translateX(-100%); } /* Chat alanı */ .chat-container { height: calc(100vh - 140px); overflow-y: auto; background: url("data:image/svg+xml;utf8,") repeat; } /* Mesaj kutuları */ .message { max-width: 75%; margin: 8px 16px; padding: 12px 16px; border-radius: var(--bubble-radius, 12px); line-height: 1.6; animation: bubblePop 0.3s ease-out; position: relative; display: flex; align-items: flex-start; gap: 8px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); transition: transform 0.2s ease; } .message:hover { transform: translateY(-2px); } .user-message { margin-left: auto; border-bottom-right-radius: 2px; } .bot-message { border-bottom-left-radius: 2px; } /* Sabitlenen mesaj */ .pinned-message { background: #fefcbf !important; border: 1px solid #facc15; position: sticky; top: 0; z-index: 10; animation: none; } /* Yazıyor animasyonu */ .typing { display: flex; align-items: center; gap: 6px; padding: 12px 16px; margin: 8px 16px; } .typing span { width: 10px; height: 10px; border-radius: 50%; animation: pulse 0.8s infinite alternate; background: #4f46e5; } .typing span:nth-child(2) { animation-delay: 0.2s; } .typing span:nth-child(3) { animation-delay: 0.4s; } @keyframes bubblePop { from { transform: scale(0.9) translateY(10px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } } @keyframes pulse { to { transform: scale(1.3); opacity: 0.6; } } /* Bildirim */ .notification { animation: slideInLeft 0.3s ease-out, fadeOut 0.3s ease-out 2.7s forwards; border-left: 4px solid; backdrop-filter: blur(5px); } @keyframes slideInLeft { from { transform: translateX(-100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes fadeOut { to { opacity: 0; } } /* Scrollbar */ .chat-container::-webkit-scrollbar { width: 6px; } .chat-container::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.1); border-radius: 6px; } .chat-container::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.3); } /* Ripple Efekti */ button { cursor: pointer; position: relative; transition: transform 0.2s, background 0.2s; } button:hover { transform: scale(1.05); } button:active::after { content: ''; position: absolute; width: 100px; height: 100px; background: rgba(255, 255, 255, 0.3); border-radius: 50%; transform: scale(0); animation: rippleEffect 0.6s ease-out; top: 50%; left: 50%; transform-origin: center; } @keyframes rippleEffect { to { transform: scale(4); opacity: 0; } } /* Input Alanı */ #message-input { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(5px); } .dark #message-input { background: rgba(31, 41, 55, 0.8); color: #f3f4f6; } /* Temalar */ :root { --bubble-radius: 12px; } .theme-default .user-message { background: linear-gradient(135deg, #6366f1, #7c3aed); color: white; } .theme-default .bot-message { background: linear-gradient(135deg, #e5e7eb, #d1d5db); color: #1f2937; } .theme-blue .user-message { background: linear-gradient(135deg, #3b82f6, #60a5fa); color: white; } .theme-blue .bot-message { background: linear-gradient(135deg, #bfdbfe, #93c5fd); color: #1e3a8a; } .theme-green .user-message { background: linear-gradient(135deg, #10b981, #34d399); color: white; } .theme-green .bot-message { background: linear-gradient(135deg, #a7f3d0, #6ee7b7); color: #064e3b; } .theme-purple .user-message { background: linear-gradient(135deg, #8b5cf6, #a78bfa); color: white; } .theme-purple .bot-message { background: linear-gradient(135deg, #ddd6fe, #c4b5fd); color: #4c1d95; } .theme-red .user-message { background: linear-gradient(135deg, #ef4444, #f87171); color: white; } .theme-red .bot-message { background: linear-gradient(135deg, #fecaca, #f9a8a8); color: #991b1b; } /* Koyu mod (yumuşak koyu gri) */ .dark { background-color: #1e1e1e; color: #e5e7eb; } .dark .chat-container { background: linear-gradient(135deg, #1e1e1e, #2c2c2c); } .dark .bg-white { background: #2a2a2a; color: #e5e7eb; } /* === Tema Uyumu: Sidebar ve Arka Plan === */ /* Aydınlık tema için sidebar ve yazılar */ .theme-default #sidebar { background: #f8fafc; color: #1e293b; } .theme-default .chat-container { background: url("https://www.transparenttextures.com/patterns/pw-maze-white.png") repeat; } /* Karanlık tema için sidebar ve yazılar */ .dark #sidebar { background: #1f2937; color: #f8fafc; } .dark .chat-container { background: url("https://www.transparenttextures.com/patterns/asfalt-dark.png") repeat; } /* Sidebar içindeki input/select'ler temaya uyum sağlar */ #sidebar input, #sidebar select { color: inherit; background-color: transparent; } .dark #sidebar input, .dark #sidebar select { background-color: #374151; color: #f1f5f9; }