.themeToggleBtn{background:var(--bg-button-secondary,#ffffff0f);border:1px solid var(--border-color,#ffffff1a);color:var(--text-secondary,#cbd5e1);cursor:pointer;height:34px;font-size:var(--font-sm);font-weight:var(--fw-medium);-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:0 .75rem;font-family:inherit;line-height:1;transition:all .2s;display:inline-flex}.themeToggleBtn:hover{background:var(--bg-button-secondary-hover,#ffffff1f);color:var(--text-primary,#fff);border-color:var(--border-color-hover,#fff3);transform:translateY(-1px)}.themeToggleBtn:active{transform:translateY(0)}.themeIcon{align-items:center;font-size:.9rem;line-height:1;display:inline-flex}.themeLabel{font-size:var(--font-sm);line-height:1}@media (width<=768px){.themeToggleBtn .themeLabel{display:none}.themeToggleBtn{width:32px;height:32px;padding:0}}@media (width<=420px){.themeToggleBtn{border-radius:6px;width:30px;height:30px}}.infoBar{background:var(--bg-card);border-bottom:1px solid var(--border-color);border-top-left-radius:16px;border-top-right-radius:16px;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;height:64px;padding:0 1.5rem;transition:background-color .3s,border-color .3s;display:flex;position:relative}.leftInnerContainer{align-items:center;min-width:0;display:flex}.roomBadge{align-items:center;gap:.6rem;min-width:0;display:flex}.onlinePulse{background-color:#22c55e;border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block;box-shadow:0 0 8px #22c55e}.roomTitle{font-size:var(--font-lg);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1;overflow:hidden}.rightInnerContainer{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.desktopActionGroup{align-items:center;gap:.5rem;display:flex}.desktopLatencyBadge{color:var(--text-muted);font-size:.68rem;font-weight:var(--fw-medium);background:var(--bg-card-secondary);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .55rem;line-height:1;display:inline-flex}.latencyDot{background-color:#22c55e;border-radius:50%;width:5px;height:5px;display:inline-block}.infoBarIconBtn{background:var(--bg-button-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;height:34px;font-size:var(--font-sm);font-weight:var(--fw-medium);-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;font-family:inherit;line-height:1;transition:all .2s;display:inline-flex}.infoBarIconBtn.muteBtn{padding:0 .55rem;font-size:.9rem}.infoBarIconBtn:hover{background:var(--bg-button-secondary-hover);color:var(--text-primary);border-color:#8b5cf6;transform:translateY(-1px)}.infoBarIconBtn:active{transform:translateY(0)}.infoBarIconBtn.inviteBtn:hover{color:#c4b5fd;background:#7c3aed26}.sidebarToggleBtn{background:var(--bg-button-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;height:34px;font-size:var(--font-sm);font-weight:var(--fw-medium);box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;font-family:inherit;line-height:1;transition:all .2s;display:none}.sidebarToggleBtn:hover{background:var(--bg-button-secondary-hover);color:var(--text-primary);border-color:var(--border-color-hover);transform:translateY(-1px)}.sidebarToggleBtn:active{transform:translateY(0)}.userCountBadge{color:#fff;font-size:var(--font-xs);font-weight:var(--fw-semibold);background:#7c3aed;border-radius:9999px;padding:2px 6px;line-height:1}.exitLink{color:#f87171;height:34px;font-size:var(--font-sm);font-weight:var(--fw-medium);box-sizing:border-box;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.exitLink:hover{color:#fca5a5;background:#ef444433;border-color:#ef444466;transform:translateY(-1px)}.exitLink:active{transform:translateY(0)}.exitIcon{width:14px;height:14px}.leaveText{font-size:var(--font-sm);line-height:1}.mobileMenuWrapper{display:none;position:relative}.mobileMenuBtn{width:34px;padding:0;font-size:1.15rem}.mobileMenuBtn.active{color:#c4b5fd;background:#7c3aed26;border-color:#8b5cf6}.mobileDropdownMenu{background:var(--bg-card);border:1px solid var(--border-color);z-index:100;border-radius:12px;flex-direction:column;gap:.25rem;width:210px;padding:.35rem;animation:.18s cubic-bezier(.16,1,.3,1) dropdownFade;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000004d}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdownMenuItem{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-family:inherit;transition:all .15s;display:flex}.dropdownMenuItem:hover{background:var(--bg-button-secondary-hover)}.dropdownItemIcon{flex-shrink:0;justify-content:center;align-items:center;width:20px;font-size:1rem;line-height:1;display:inline-flex}.dropdownItemContent{flex-direction:column;min-width:0;display:flex}.dropdownItemLabel{font-size:.78rem;font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.2}.dropdownItemDesc{color:var(--text-muted);margin-top:2px;font-size:.65rem;line-height:1.2}.dropdownMenuFooter{border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.65rem;font-weight:var(--fw-medium);align-items:center;gap:.35rem;padding:.4rem .65rem;display:flex}@media (width<=768px){.infoBar{height:56px;padding:0 1rem}.roomTitle{font-size:var(--font-base);max-width:140px}.desktopActionGroup{display:none}.mobileMenuWrapper{display:block}.sidebarToggleBtn{gap:.3rem;height:34px;padding:0 .55rem;display:inline-flex}.leaveText{display:none}.exitLink{width:34px;height:34px;padding:0}}@media (width<=420px){.infoBar{padding:0 .75rem}.roomTitle{max-width:120px;font-size:.95rem}.rightInnerContainer{gap:.35rem}.mobileDropdownMenu{width:195px;right:-20px}}.inputAreaWrapper{width:100%;position:relative}.mentionSuggestionsPopup{background:var(--bg-card);border:1px solid var(--border-color);z-index:50;border-radius:12px;max-width:320px;animation:.18s cubic-bezier(.16,1,.3,1) popupSlide;position:absolute;bottom:calc(100% + 6px);left:1rem;right:1rem;overflow:hidden;box-shadow:0 8px 24px #00000040}@keyframes popupSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mentionHeader{background:var(--bg-card-secondary);border-bottom:1px solid var(--border-color);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.68rem;display:flex}.mentionTitle{font-weight:var(--fw-semibold);color:var(--text-secondary)}.mentionHint{opacity:.8;font-size:.62rem}.mentionList{max-height:180px;margin:0;padding:.3rem 0;list-style:none;overflow-y:auto}.mentionItem{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.4rem .75rem;transition:all .12s;display:flex}.mentionItem:hover,.mentionItem.selected{background:#7c3aed1f}.mentionAvatar{color:#fff;width:22px;height:22px;font-size:.65rem;font-weight:var(--fw-bold);background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mentionName{font-size:.8rem;font-weight:var(--fw-medium);color:var(--text-primary);flex:1}.mentionSelfTag{color:#c4b5fd;font-size:.62rem;font-weight:var(--fw-semibold);background:#7c3aed33;border-radius:4px;padding:1px 5px}[data-theme=light] .mentionSelfTag{color:#7c3aed;background:#7c3aed1a}.chatForm{background:var(--bg-card);border-top:1px solid var(--border-color);border-bottom-right-radius:16px;border-bottom-left-radius:16px;flex-shrink:0;align-items:center;gap:.5rem;padding:.65rem .85rem;transition:background-color .3s,border-color .3s;display:flex}.locationButton{background:var(--bg-button-secondary);border:1px solid var(--border-color);cursor:pointer;width:38px;min-width:38px;height:38px;color:var(--text-secondary);box-sizing:border-box;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.locationButton:hover:not(:disabled){background:var(--bg-button-secondary-hover);color:var(--text-primary);border-color:#8b5cf6;transform:translateY(-1px)}.locationButton:disabled{opacity:.5;cursor:wait}.locationIcon{font-size:.95rem;line-height:1}.chatInput{border:1px solid var(--border-color);background:var(--bg-input);height:38px;font-size:.875rem;font-weight:var(--fw-regular);color:var(--text-primary);box-sizing:border-box;border-radius:8px;flex:1;padding:0 .85rem;font-family:inherit;transition:all .2s}.chatInput:focus{background:var(--bg-input-focus);border-color:#8b5cf6;outline:none;box-shadow:0 0 0 2px #8b5cf640}.chatInput::placeholder{color:var(--text-muted);font-size:.8rem;font-weight:var(--fw-regular)}.chatSendButton{color:#fff;height:38px;font-size:.875rem;font-weight:var(--fw-semibold);cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:0 1rem;font-family:inherit;transition:all .2s;display:inline-flex}.chatSendButton:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);box-shadow:0 4px 12px #7c3aed66}.chatSendButton:disabled{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-color);cursor:not-allowed;opacity:.6;box-shadow:none}.sendIcon{font-size:.85rem;line-height:1}.sendText{font-size:.875rem;line-height:1}@media (width<=480px){.chatForm{gap:.35rem;padding:.5rem .65rem}.locationButton{width:36px;min-width:36px;height:36px}.chatInput{height:36px;padding:0 .65rem;font-size:.82rem}.sendText{display:none}.chatSendButton{width:36px;min-width:36px;height:36px;padding:0}}.loadingContainer{background:var(--bg-card);flex:1;justify-content:center;align-items:center;min-height:380px;padding:2.5rem 1.5rem;transition:background-color .3s;display:flex}.loadingCard{text-align:center;background:var(--bg-card-secondary);border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:var(--shadow-main);border-radius:16px;flex-direction:column;align-items:center;padding:2rem 1.5rem;transition:all .3s;display:flex}.loadingGlowWrapper{justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:1.5rem;display:flex;position:relative}.loadingSpinnerRing{border:3px solid #8b5cf6;border-color:#8b5cf6 #7c3aed #0000 #0000;border-radius:50%;animation:1.4s cubic-bezier(.45,.05,.55,.95) infinite loadingSpin;position:absolute;inset:0}.loadingPulseBubble{background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:58px;height:58px;animation:2s ease-in-out infinite alternate loadingPulse;display:flex;position:relative}.loadingBubbleSvg{width:28px;height:28px}.bouncingDots{justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;top:19px}.bouncingDots .dot{background:#fff;border-radius:50%;width:3.5px;height:3.5px;animation:1.4s ease-in-out infinite both bounceDot}.bouncingDots .dot:first-child{animation-delay:-.32s}.bouncingDots .dot:nth-child(2){animation-delay:-.16s}@keyframes bounceDot{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}@keyframes loadingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loadingPulse{0%{transform:scale(.94);box-shadow:0 0 #7c3aed4d}to{transform:scale(1.04);box-shadow:0 0 20px 4px #7c3aed40}}.loadingTitle{font-size:var(--font-lg);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:var(--ls-tight);margin:0 0 .4rem}.loadingContent{flex-direction:column;align-items:center;width:100%;display:flex}.loadingSubtitle{font-size:var(--font-sm);color:var(--text-secondary);margin:0 0 1.25rem}.loadingProgressTrack{background:var(--border-color);border-radius:9999px;width:100%;height:4px;margin-bottom:1.25rem;overflow:hidden}.loadingProgressBar{background:linear-gradient(90deg,#7c3aed,#c4b5fd,#7c3aed);border-radius:9999px;width:45%;height:100%;animation:1.6s cubic-bezier(.4,0,.2,1) infinite indeterminateBar}@keyframes indeterminateBar{0%{transform:translate(-100%)}50%{transform:translate(120%)}to{transform:translate(300%)}}.coldStartNoticeBox{background:var(--bg-card);border:1px solid var(--border-color);text-align:left;border-radius:10px;align-items:center;gap:.5rem;width:100%;padding:.65rem .85rem;display:flex}.noticeIcon{font-size:var(--font-base);color:#f59e0b;flex-shrink:0}.coldStartNoticeText{font-size:var(--font-xs);color:var(--text-muted);margin:0;line-height:1.4}.loadingErrorCard{flex-direction:column;align-items:center;width:100%;margin-top:.5rem;display:flex}.loadingErrorText{font-size:var(--font-sm);color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;width:100%;margin:0 0 1.25rem;padding:.65rem 1rem;line-height:1.4}.retryBtn{color:#fff;font-size:var(--font-sm);font-weight:var(--fw-semibold);cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-family:inherit;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #7c3aed4d}.retryBtn:hover{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.retryBtn:active{transform:translateY(0)}.messageRow{box-sizing:border-box;width:100%;padding:.2rem 1rem;transition:padding .15s;display:flex}.messageRow.consecutiveMessage{padding-top:.05rem;padding-bottom:.05rem}.justifyStart{justify-content:flex-start}.justifyEnd{justify-content:flex-end}.center{text-align:center;justify-content:center;align-items:center;margin:.25rem 0}.messageWrapper{flex-direction:column;max-width:75%;display:flex}.messageWrapper.self{align-items:flex-end}.messageWrapper.other{align-items:flex-start}.senderHeader{-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;margin-bottom:.15rem;padding:0 .35rem;display:flex}.senderHeader.self{justify-content:flex-end}.senderHeader.other{justify-content:flex-start}.senderName{font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:.2px}.senderName.selfName{color:#c4b5fd}.senderName.otherName{color:#94a3b8}.messageTime{color:var(--text-muted);font-size:.65rem;font-weight:var(--fw-regular)}.systemTime{color:var(--text-muted);opacity:.75;margin-left:.25rem;font-size:.65rem}.mentionBadge{color:#c4b5fd;font-size:.62rem;font-weight:var(--fw-semibold);background:#7c3aed33;border:1px solid #7c3aed66;border-radius:9999px;padding:1px 6px;line-height:1.2}[data-theme=light] .mentionBadge{color:#6d28d9;background:#7c3aed1a;border-color:#7c3aed40}.messageBubble{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;border-radius:12px;padding:.42rem .75rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 4px #00000026}.bubbleSelf{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border-bottom-right-radius:3px}.bubbleOther{background:var(--bubble-other-bg);color:var(--bubble-other-text);border:1px solid var(--border-color);box-shadow:var(--shadow-main);border-bottom-left-radius:3px}.bubbleMentioned{background:var(--bubble-other-bg);box-shadow:0 0 0 1.5px #8b5cf666, var(--shadow-main);border-color:#8b5cf6}.bubbleLocation{width:220px;max-width:100%;overflow:hidden;padding:0!important}.locationCard{color:inherit;flex-direction:column;width:100%;text-decoration:none;transition:opacity .2s;display:flex}.locationCard:hover{opacity:.95}.locationMapPreview{background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);justify-content:center;align-items:center;height:72px;display:flex;position:relative;overflow:hidden}[data-theme=light] .locationMapPreview{background:linear-gradient(135deg,#e0e7ff 0%,#ede9fe 100%)}.locationMapGrid{background-image:radial-gradient(#ffffff26 1px,#0000 1px);background-size:10px 10px;position:absolute;inset:0}[data-theme=light] .locationMapGrid{background-image:radial-gradient(#7c3aed26 1px,#0000 1px)}.locationRadar{z-index:2;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.locationRadarPing{background:#ef444433;border:1.5px solid #ef444499;border-radius:50%;animation:1.8s cubic-bezier(0,0,.2,1) infinite locationPing;position:absolute;inset:0}@keyframes locationPing{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.locationPinEmoji{filter:drop-shadow(0 2px 4px #0000004d);font-size:1.3rem;line-height:1}.locationCardBody{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.bubbleSelf .locationCardBody{color:#fff;background:#0000001f}.bubbleOther .locationCardBody{background:var(--bg-card-secondary)}.locationCardInfo{text-align:left;flex-direction:column;display:flex}.locationCardTitle{font-size:.78rem;font-weight:var(--fw-semibold);line-height:1.2}.bubbleSelf .locationCardTitle{color:#fff}.bubbleOther .locationCardTitle{color:var(--text-primary)}.locationCardSubtitle{margin-top:2px;font-size:.65rem;line-height:1.2}.bubbleSelf .locationCardSubtitle{color:#fffc}.bubbleOther .locationCardSubtitle{color:var(--text-muted)}.locationOpenIconWrapper{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:transform .2s;display:flex}.bubbleSelf .locationOpenIconWrapper{color:#fff;background:#fff3}.bubbleOther .locationOpenIconWrapper{color:#7c3aed;background:#7c3aed1f}.locationCard:hover .locationOpenIconWrapper{transform:translate(1px,-1px)}.messageText{font-size:.875rem;font-weight:var(--fw-regular);margin:0;line-height:1.4}.messageText img{vertical-align:middle}.systemMessageBox{background:var(--system-badge-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--system-badge-border);text-align:center;border-radius:9999px;justify-content:center;align-items:center;gap:.35rem;max-width:90%;margin:0 auto;padding:.2rem .75rem;display:inline-flex;box-shadow:0 1px 4px #0000001a}.systemIcon{font-size:.7rem;line-height:1}.systemText{color:var(--system-badge-text);font-size:.72rem;font-weight:var(--fw-medium);line-height:1.35}.messagesContainer{scroll-behavior:smooth;flex:1;min-height:0;padding:1rem 0;overflow:hidden auto}.messagesContainer::-webkit-scrollbar{width:6px}.messagesContainer::-webkit-scrollbar-track{background:0 0}.messagesContainer::-webkit-scrollbar-thumb{background:var(--border-color,#ffffff26);border-radius:4px}.messagesContainer::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover,#ffffff4d)}.emptyMessages{text-align:center;color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.emptyIcon{opacity:.8;margin-bottom:.5rem;font-size:2.5rem}.emptyTitle{font-size:var(--font-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0 0 .25rem}.emptySubtitle{font-size:var(--font-sm);font-weight:var(--fw-regular);color:var(--text-secondary);margin:0}.typingIndicatorRow{align-items:center;gap:.5rem;padding:.25rem 1.25rem .5rem;animation:.2s ease-in-out fadeIn;display:flex}.typingBubble{background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:12px 12px 12px 3px;align-items:center;gap:3px;padding:.35rem .6rem;display:inline-flex}.typingDot{background:var(--text-muted);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both typingBounce}.typingDot:first-child{animation-delay:-.32s}.typingDot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.typingText{font-size:var(--font-xs);color:var(--text-muted);font-style:var(--fs-italic)}.sidebarContainer{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;flex-shrink:0;width:280px;height:100%;transition:background-color .3s,border-color .3s;display:flex;overflow:hidden}.sidebarHeader{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.2rem 1.25rem;display:flex}.sidebarTitleGroup{align-items:center;gap:.75rem;display:flex}.sidebarLogo{font-size:1.25rem}.sidebarTitle{font-size:var(--font-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.sidebarSubtitle{font-size:var(--font-xs);font-weight:var(--fw-regular);color:var(--text-secondary)}.sidebarCloseBtn{color:var(--text-secondary);font-size:var(--font-base);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;display:none}.sidebarCloseBtn:hover{color:var(--text-primary)}.userList{flex-direction:column;flex:1;gap:.4rem;padding:1rem;display:flex;overflow-y:auto}.userCard{border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .65rem;transition:all .2s;display:flex}.userCard:hover{background:var(--user-card-hover)}.currentUserCard{background:#7c3aed1f;border:1px solid #7c3aed40}.userAvatar{color:#fff;width:32px;height:32px;font-weight:var(--fw-semibold);font-size:var(--font-sm);background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.userStatusDot{border:2px solid var(--online-dot-border);background-color:#22c55e;border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}.userNameInfo{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.userNameText{color:var(--text-primary);font-size:var(--font-sm);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.youBadge{color:#fff;font-size:var(--font-xs);font-weight:var(--fw-semibold);background:#7c3aed;border-radius:9999px;margin-left:.5rem;padding:2px 6px}.emptyUsers{text-align:center;color:#64748b;font-size:var(--font-sm);font-weight:var(--fw-regular);padding:2rem 0}@media (width<=768px){.sidebarCloseBtn{display:block}}.sidebarFooter{border-top:1px solid var(--border-color);text-align:center;background:var(--bg-card);padding:.75rem 1rem}.sidebarFooter p{font-size:var(--font-xs);color:var(--text-muted);font-weight:var(--fw-medium);margin:0}.chatOuterContainer{background:var(--bg-gradient);justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.5rem;transition:background .3s;display:flex;overflow:hidden}.chatMainWrapper{gap:1.25rem;width:100%;max-width:1100px;height:100%;max-height:900px;display:flex;position:relative}.sidebarDrawer{height:100%;display:flex}.chatCardContainer{background:var(--bg-card);border:1px solid var(--border-color);height:100%;box-shadow:var(--shadow-main);border-radius:16px;flex-direction:column;flex:1;min-width:0;transition:background-color .3s,border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.connectionBanner{font-size:var(--font-xs);text-align:center;font-weight:var(--fw-medium);padding:.5rem 1rem}.connectionBanner.info{color:#93c5fd;background:#3b82f626;border-bottom:1px solid #3b82f633}.connectionBanner.error{color:#fca5a5;background:#ef444426;border-bottom:1px solid #ef444433}.sidebarBackdrop{display:none}@media (width<=768px){.chatOuterContainer{padding:0}.chatMainWrapper{gap:0;max-height:100vh}.chatCardContainer{border:none;border-radius:0}.sidebarDrawer{z-index:50;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:10px 0 30px #000000b3}.sidebarDrawerOpen{transform:translate(0)}.sidebarBackdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#0009;display:block;position:fixed;inset:0}}:root{--font-family-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.75rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fs-normal:normal;--fs-italic:italic;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.625;--ls-tight:-.02em;--ls-normal:0em;--ls-wide:.025em}:root,[data-theme=dark]{--bg-gradient:radial-gradient(circle at top, #1e1b4b 0%, #0f1117 70%);--bg-card:#181a24;--bg-card-secondary:#242735;--bg-input:#242735;--bg-input-focus:#2b2f40;--text-primary:#fff;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#ffffff14;--border-color-hover:#fff3;--bg-button-secondary:#ffffff0f;--bg-button-secondary-hover:#ffffff1f;--shadow-main:0 20px 40px -15px #00000080;--bubble-other-bg:#242735;--bubble-other-text:#f1f5f9;--system-badge-bg:#ffffff14;--system-badge-border:#ffffff1f;--system-badge-text:#94a3b8;--user-card-hover:#ffffff0a;--online-dot-border:#181a24}[data-theme=light]{--bg-gradient:radial-gradient(circle at top, #ede9fe 0%, #f1f5f9 65%);--bg-card:#fff;--bg-card-secondary:#f8fafc;--bg-input:#f8fafc;--bg-input-focus:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#00000014;--border-color-hover:#00000029;--bg-button-secondary:#0000000d;--bg-button-secondary-hover:#00000017;--shadow-main:0 20px 40px -15px #00000014;--bubble-other-bg:#f1f5f9;--bubble-other-text:#0f172a;--system-badge-bg:#0000000d;--system-badge-border:#0000001a;--system-badge-text:#64748b;--user-card-hover:#0000000a;--online-dot-border:#fff}html,body{font-family:var(--font-family-base);font-size:16px;font-weight:var(--fw-regular);font-style:var(--fs-normal);line-height:var(--lh-normal);letter-spacing:var(--ls-normal);background-color:var(--bg-card,#0f1117);color:var(--text-primary,#f1f5f9);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;transition:background-color .3s,color .3s}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;line-height:inherit}*{box-sizing:border-box}#root{width:100vw;height:100vh;overflow:hidden}.joinOuterContainer{background:var(--bg-gradient);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative}.joinTopNav{position:absolute;top:1.5rem;right:1.5rem}.joinCard{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-main), 0 0 50px -25px #7c3aed26;border-radius:20px;flex-direction:column;width:100%;max-width:440px;padding:2.5rem 2rem;transition:background-color .3s,border-color .3s;display:flex}.joinHeader{text-align:center;margin-bottom:1.75rem}.joinLogo{margin-bottom:.5rem;font-size:2.5rem}.joinTitle{color:var(--text-primary);font-size:var(--font-2xl);font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0 0 .4rem}.joinSubtitle{color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--fw-regular);margin:0}.joinError{color:#fca5a5;font-size:var(--font-sm);font-weight:var(--fw-medium);text-align:center;background-color:#ef444426;border:1px solid #ef44444d;border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem}.joinForm{flex-direction:column;gap:1.25rem;display:flex}.inputGroup{flex-direction:column;gap:.5rem;display:flex}.inputLabel{font-size:var(--font-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.joinInput{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-size:var(--font-base);font-weight:var(--fw-regular);border-radius:12px;padding:.85rem 1.1rem;font-family:inherit;transition:all .2s}.joinInput:focus{background:var(--bg-input-focus);border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf640}.joinInput::placeholder{color:var(--text-muted);font-size:var(--font-sm)}.joinButton{color:#fff;font-size:var(--font-base);font-weight:var(--fw-semibold);cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;border-radius:12px;margin-top:.5rem;padding:.9rem 1.25rem;font-family:inherit;transition:all .2s;box-shadow:0 4px 14px #7c3aed66}.joinButton:hover{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed80}.joinButton:active{transform:translateY(0)}@media (width<=480px){.joinCard{padding:2rem 1.5rem}.joinTitle{font-size:var(--font-xl)}}.joinFooter{text-align:center;border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.joinFooter p{font-size:var(--font-xs);color:var(--text-muted);font-weight:var(--fw-medium);letter-spacing:.3px;margin:0}
