.image-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.image-modal__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.9);backdrop-filter:blur(5px)}.image-modal__container{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:16px}.image-modal__close{position:absolute;top:-40px;right:0;width:40px;height:40px;padding:8px;background-color:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-modal__close:hover{background-color:hsla(0,0%,100%,.2);transform:scale(1.05)}.image-modal__image{max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 20px 40px rgba(0,0,0,.4)}.image-modal__filename{color:#fff;font-size:14px;opacity:.8;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-modal__download{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;text-decoration:none;font-size:14px;transition:all .2s ease}.image-modal__download:hover{background-color:hsla(0,0%,100%,.2);transform:translateY(-2px)}@media (max-width:640px){.image-modal{padding:10px}.image-modal__container{max-width:100%}.image-modal__close{top:10px;right:10px;position:fixed;z-index:10001}.image-modal__image{max-height:70vh}}.message-thread{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;background:#0d0d0d}.message-thread__messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.message-thread__empty{justify-content:center;height:100%;color:#6b7280;text-align:center}.message-system,.message-thread__empty{display:flex;flex-direction:column;align-items:center}.message-system{margin:1rem 0}.message-system__content{background-color:#2a2a2a;color:#9ca3af;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;text-align:center;max-width:80%}.message-system__time{font-size:.75rem;color:#6b7280;margin-top:.25rem}.message{display:flex;margin-bottom:.5rem}.message--own{justify-content:flex-end}.message--other{justify-content:flex-start}.message__wrapper{display:flex;gap:.5rem;max-width:70%;align-items:flex-end}.message__avatar{width:2rem;height:2rem;border-radius:50%;-o-object-fit:cover;object-fit:cover}.message__content-wrapper{display:flex;flex-direction:column}.message__sender-name{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem;padding-left:.75rem}.message__bubble{padding:.75rem 1rem;border-radius:1.125rem;position:relative}.message--own .message__bubble{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-bottom-right-radius:.25rem}.message--other .message__bubble{background-color:#2a2a2a;color:#ececec;border-bottom-left-radius:.25rem}.message__text{font-size:.9375rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.message__attachments{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.message__attachment{position:relative;display:inline-block}.message__attachment--clickable{cursor:pointer;transition:transform .2s ease}.message__attachment--clickable:hover{transform:scale(1.02)}.message__attachment--clickable:hover .message__attachment-overlay{opacity:1}.message__attachment-image{max-width:100%;max-height:300px;border-radius:.5rem;display:block}.message__attachment-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);border-radius:.5rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none}.message__attachment-overlay svg{width:32px;height:32px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.message__attachment--file{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:.5rem;text-decoration:none;color:inherit;transition:background .2s ease}.message__attachment--file:hover{background:hsla(0,0%,100%,.08)}.message__attachment-icon{font-size:1.5rem}.message__attachment-name{font-size:.875rem;color:#d1d5db;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.message__time{font-size:.7rem;margin-top:.25rem;text-align:right}.message--own .message__time{color:hsla(0,0%,100%,.75)}.message--other .message__time{color:#6b7280}.typing-indicator{display:flex;align-items:center;gap:.25rem;padding:.75rem 1rem;background-color:#2a2a2a;border-radius:1.125rem;border-bottom-left-radius:.25rem}.typing-dot{width:.5rem;height:.5rem;background-color:#9ca3af;border-radius:50%;animation:typing 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-.25rem)}}@media (max-width:768px){.message-thread__messages{padding:.75rem}.message__wrapper{max-width:85%}.message__bubble{padding:.625rem .875rem}.message__text{font-size:.875rem}.message__avatar{width:1.75rem;height:1.75rem}}