body,html{height:100%;margin:0;overflow:hidden;background:#f7f7f7}.navbar{border-bottom:1px solid #ddd}section{padding:60px 0}.section-heading{font-weight:600;margin-bottom:30px;text-align:center}.card{border-radius:10px;border:1px solid #ddd}footer{background:#f8f9fa;border-top:1px solid #ddd;padding:20px;text-align:center}.chat-layout{height:100vh;display:flex}.sidebar{width:260px;background:#f8f9fa;border-right:1px solid #ddd;display:flex;flex-direction:column}.sidebar-header{padding:10px;border-bottom:1px solid #ddd;background:#fff}.chat-list{flex:1;overflow-y:auto;padding:10px}.chat-item{padding:10px;border-radius:8px;cursor:pointer;margin-bottom:5px}.chat-item:hover{background:#e9ecef}.chat-item.active{background:#0d6efd;color:white}.user-info{padding:15px;border-top:1px solid #ddd;background:#fff}.chat-panel{flex:1;display:flex;flex-direction:column;background:#fff}.chat-messages{flex:1;overflow-y:auto;padding:20px}.chat-messages{--chat-video-max-height:min(50vh,420px)}.chat-messages video,.chat-messages iframe,.chat-messages embed{display:block;max-width:100%;width:100%;height:auto;max-height:var(--chat-video-max-height);object-fit:contain;border-radius:8px}.message{margin-bottom:15px;display:flex}.message.user .msg-text{margin-left:auto;background:#0d6efd;color:white}.message.bot .msg-text{margin-right:auto;background:#e9ecef}.message.peer .msg-text{margin-right:auto;background:#e8f5e9;color:#0f5132;border:1px solid #cfe3d4;border-left:4px solid #198754}.message .msg-author{display:block;font-size:12px;line-height:1.2;color:#6c757d;margin-bottom:4px;padding:0 4px}.message.peer .msg-author{color:#0f5132;font-weight:600}.message.peer .avatar{border-radius:50%;box-shadow:0 0 0 2px #cfe3d4}.typing-dots{display:inline-block;width:36px;text-align:center}.typing-dots span{display:inline-block;width:6px;height:6px;margin:0 2px;background:#666;border-radius:50%;animation:blink 1.4s infinite both}.typing-dots span:nth-child(2){animation-delay:0.2s}.typing-dots span:nth-child(3){animation-delay:0.4s}@keyframes blink{0%,80%,100%{transform:scale(0);opacity:0.4}40%{transform:scale(1);opacity:1}}.msg-text{padding:10px 15px;border-radius:15px;max-width:75%}.msg-text a{color:inherit;text-decoration:underline}.msg-text a.citation-link{font-weight:600;margin:0 2px}.timestamp{display:block;font-size:0.75rem;color:#666;margin-top:4px;text-align:right}.message.user .timestamp{color:#ddd}.chat-input{border-top:1px solid #ddd;padding:10px;background:#fff}.alert-debug{color:black;background-color:white;border-color:#d6e9c6}.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}