@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Space+Mono:wght@400;700&display=swap);.auth-page{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-bg{background:var(--bg-primary);inset:0;position:fixed;z-index:0}.auth-blob{border-radius:50%;filter:blur(80px);opacity:.15;position:absolute}.auth-blob-1{animation:floatBlob 8s ease-in-out infinite;background:var(--accent);height:500px;left:-100px;top:-100px;width:500px}.auth-blob-2{animation:floatBlob 10s ease-in-out infinite reverse;background:#a78bfa;bottom:-80px;height:400px;right:-80px;width:400px}@keyframes floatBlob{0%,to{transform:translate(0) scale(1)}50%{transform:translate(20px,-20px) scale(1.05)}}.auth-grid{background-image:linear-gradient(#6c8aff0a 1px,#0000 0),linear-gradient(90deg,#6c8aff0a 1px,#0000 0);background-size:40px 40px;inset:0;position:absolute}.auth-container{align-items:center;display:flex;flex-direction:column;gap:32px;max-width:420px;position:relative;width:100%;z-index:1}.auth-brand{animation:fadeIn .6s ease;text-align:center}.auth-logo{color:var(--accent);filter:drop-shadow(0 0 12px var(--accent-glow));height:56px;margin:0 auto 12px;width:56px}.auth-logo svg{height:100%;width:100%}.auth-brand-name{color:var(--text-primary);font-family:Space Mono,monospace;font-size:32px;font-weight:700;letter-spacing:-.5px}.auth-tagline{color:var(--text-secondary);font-size:14px;margin-top:4px}.auth-card{animation:fadeIn .5s ease .1s both;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:28px;width:100%}.auth-tabs{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;margin-bottom:24px;padding:4px}.auth-tab{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:10px;transition:var(--transition)}.auth-tab.active{background:var(--accent);box-shadow:0 2px 8px var(--accent-glow);color:#fff}.auth-form{display:flex;flex-direction:column;gap:16px}.input-wrap{position:relative}.input-icon,.input-wrap{align-items:center;display:flex}.input-icon{color:var(--text-muted);left:14px;position:absolute}.input-icon svg{height:16px;width:16px}.form-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:15px;outline:none;padding:12px 14px 12px 42px;transition:var(--transition);width:100%}.form-input::placeholder,.password-toggle{color:var(--text-muted)}.password-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;transition:var(--transition)}.password-toggle svg{height:17px;width:17px}.password-toggle:hover{color:var(--text-secondary)}.form-input:focus{background:var(--bg-hover);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-error{align-items:center;animation:fadeIn .2s ease;background:var(--red-soft);border:1px solid #f8717133;border-radius:var(--radius-md);color:var(--red);display:flex;font-size:13px;gap:8px;padding:10px 14px}.auth-error svg{flex-shrink:0;height:16px;width:16px}.auth-btn{align-items:center;background:var(--accent);border:none;border-radius:var(--radius-md);box-shadow:0 4px 14px var(--accent-glow);color:#fff;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;justify-content:center;margin-top:4px;padding:14px;transition:var(--transition);width:100%}.auth-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.auth-btn:disabled{cursor:not-allowed;opacity:.7}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.auth-switch{color:var(--text-secondary);font-size:13px;margin-top:20px;text-align:center}.auth-switch-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;padding:0}.auth-switch-btn:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:20px}.auth-brand-name{font-size:26px}}.avatar{border-radius:50%;flex-shrink:0;overflow:visible;position:relative}.avatar-sm{height:32px;width:32px}.avatar-md{height:40px;width:40px}.avatar-lg{height:48px;width:48px}.avatar-xl{height:64px;width:64px}.avatar-img{object-fit:cover}.avatar-img,.avatar-initials{border-radius:50%;height:100%;width:100%}.avatar-initials{align-items:center;background:var(--accent);background:var(--avatar-color,var(--accent));color:#fff;display:flex;font-family:DM Sans,sans-serif;font-size:.4em;font-size:clamp(11px,40%,18px);font-weight:600;justify-content:center;letter-spacing:.5px}.avatar-status{border:2px solid var(--bg-secondary);border-radius:50%;bottom:0;height:11px;position:absolute;right:0;width:11px}.avatar-status.online{background:var(--green)}.avatar-status.offline{background:var(--text-muted)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.modal-card,.modal-overlay{animation:fadeIn .2s ease;display:flex}.modal-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;max-height:80vh;max-width:420px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:18px 20px}.modal-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition);width:32px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-close svg{height:16px;width:16px}.modal-body{flex:1 1;flex-direction:column;gap:14px;overflow-y:auto}.modal-body,.modal-footer{display:flex;padding:16px 20px}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;gap:10px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.form-input.no-icon{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:14px;outline:none;padding:10px 14px;transition:var(--transition)}.form-input.no-icon:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-input.no-icon::placeholder{color:var(--text-muted)}.selected-users{display:flex;flex-wrap:wrap;gap:6px}.selected-chip{align-items:center;background:var(--accent-soft);border:1px solid var(--border-active);border-radius:var(--radius-full);display:flex;gap:6px;padding:4px 10px 4px 6px}.selected-chip span{color:var(--accent);font-size:12px;font-weight:500}.selected-chip button{align-items:center;background:none;border:none;color:var(--accent);cursor:pointer;display:flex;opacity:.7;padding:0}.selected-chip button svg{height:10px;width:10px}.search-results{display:flex;flex-direction:column;gap:2px;max-height:180px}.search-result-item{padding:8px 10px}.search-result-item.selected{background:var(--accent-soft)}.search-result-name{flex:1 1}.check-icon{color:var(--accent);height:16px;width:16px}.form-error{background:var(--red-soft);border-radius:var(--radius-md);color:var(--red);font-size:13px;padding:8px 12px}.btn-primary{background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:11px;transition:var(--transition)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;padding:11px 20px;transition:var(--transition)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}@media (max-width:480px){.modal-overlay{align-items:flex-end;padding:0}.modal-card{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh}}.sidebar{background:var(--bg-secondary);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative;width:100%}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:14px 16px}.sidebar-brand,.sidebar-header{align-items:center;display:flex}.sidebar-brand{gap:8px}.brand-icon{color:var(--accent);height:28px;width:28px}.brand-name{color:var(--text-primary);font-family:Space Mono,monospace;font-size:16px;font-weight:700;letter-spacing:-.3px}.sidebar-actions{gap:4px}.icon-btn,.sidebar-actions{align-items:center;display:flex}.icon-btn{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;height:36px;justify-content:center;transition:var(--transition);width:36px}.icon-btn svg{height:18px;width:18px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.avatar-menu-wrap{position:relative}.avatar-btn{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;padding:0;transition:var(--transition)}.avatar-btn:hover{opacity:.85}.dropdown-menu{animation:fadeIn .15s ease;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:220px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.dropdown-user{align-items:center;display:flex;gap:10px;padding:8px}.dropdown-name{color:var(--text-primary);font-size:14px;font-weight:600}.dropdown-email{color:var(--text-secondary);font-size:12px;margin-top:1px}.dropdown-divider{background:var(--border);height:1px;margin:6px 0}.dropdown-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:14px;gap:8px;padding:10px 12px;text-align:left;transition:var(--transition);width:100%}.dropdown-item svg{height:16px;width:16px}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dropdown-item.danger:hover{background:var(--red-soft);color:var(--red)}.search-panel{animation:slideIn .2s ease;border-bottom:1px solid var(--border);flex-shrink:0}.search-input-wrap{align-items:center;display:flex;gap:8px;padding:10px 14px}.search-icon{color:var(--text-muted);flex-shrink:0;height:16px;width:16px}.search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;outline:none}.search-clear,.search-input::placeholder{color:var(--text-muted)}.search-clear{background:none;border:none;cursor:pointer;display:flex;padding:0}.search-clear svg{height:16px;width:16px}.search-results{max-height:240px;overflow-y:auto;padding:4px 8px 8px}.search-result-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:10px;padding:10px;text-align:left;transition:var(--transition);width:100%}.search-result-item:hover{background:var(--bg-hover)}.search-result-info{display:flex;flex-direction:column;gap:2px;min-width:0}.search-result-name{color:var(--text-primary);font-size:14px;font-weight:500}.search-result-email{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{color:var(--text-muted);font-size:13px;padding:20px;text-align:center}.sidebar-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px}.sidebar-tab,.sidebar-tabs{display:flex;padding:8px 12px}.sidebar-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;gap:6px;justify-content:center;transition:var(--transition)}.sidebar-tab.active{background:var(--accent-soft);color:var(--accent)}.tab-count{background:var(--accent);border-radius:var(--radius-full);color:#fff;font-size:10px;font-weight:700;min-width:16px;padding:1px 5px;text-align:center}.sidebar-list{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:6px}.sidebar-empty{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:40px 20px;text-align:center}.sidebar-empty-icon{color:var(--text-muted);height:48px;width:48px}.sidebar-empty-icon svg{height:100%;width:100%}.sidebar-empty p{color:var(--text-secondary);font-size:14px;font-weight:500}.sidebar-empty span{color:var(--text-muted);font-size:12px}.conv-item{align-items:center;animation:slideIn .2s ease;background:#0000;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:var(--transition);width:100%}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--accent-soft);border:1px solid var(--border-active)}.group-avatar{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#a78bfa 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.group-avatar svg{height:20px;width:20px}.conv-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.conv-bottom,.conv-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.conv-name{color:var(--text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-time{color:var(--text-muted);flex-shrink:0;font-size:11px}.conv-preview{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-badge{background:var(--accent);border-radius:var(--radius-full);color:#fff;flex-shrink:0;font-size:10px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.context-overlay{inset:0;position:fixed;z-index:50}.context-menu{animation:fadeIn .1s ease;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;padding:4px;position:fixed;z-index:51}.context-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:13px;gap:8px;padding:8px 12px;transition:var(--transition);width:100%}.context-item svg{height:14px;width:14px}.context-item.danger:hover{background:var(--red-soft);color:var(--red)}.overlay{inset:0;position:fixed;z-index:49}.message-row{align-items:flex-end;animation:messageIn .2s ease;display:flex;gap:8px;margin:1px 0;position:relative}.message-row.own{flex-direction:row-reverse}.message-avatar{align-self:flex-end;flex-shrink:0;margin-bottom:2px}.message-avatar-spacer{flex-shrink:0;width:32px}.inline-reply-btn{align-items:center;align-self:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-bottom:4px;opacity:0;transform:scale(.8);transition:opacity .15s ease,transform .15s ease,background .15s ease;width:28px}.inline-reply-btn.visible{opacity:1;transform:scale(1)}.inline-reply-btn:hover{background:var(--accent-soft);border-color:var(--border-active);color:var(--accent)}.inline-reply-btn svg{height:13px;width:13px}.own-reply-btn{order:-1}.bubble-group{display:flex;flex-direction:column;max-width:min(72%,480px)}.bubble-group.own{align-items:flex-end}.bubble-group.other{align-items:flex-start}.sender-name{color:var(--accent);font-size:11px;font-weight:600;margin-bottom:2px;padding:0 4px}.bubble{border-radius:var(--radius-lg);max-width:100%;padding:10px 14px;position:relative}.bubble-own{background:var(--accent);border-bottom-right-radius:4px;color:#fff}.bubble-other{background:var(--bg-tertiary);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text-primary)}.bubble-image{overflow:hidden;padding:4px}.reply-quote{border-radius:var(--radius-md);cursor:pointer;display:flex;gap:8px;margin-bottom:8px;overflow:hidden;padding:6px 8px;transition:var(--transition)}.reply-quote-own{background:#00000026}.reply-quote-other{background:var(--bg-hover);border:1px solid var(--border)}.reply-quote:hover{opacity:.85}.reply-quote-line{background:#ffffff80;border-radius:var(--radius-full);flex-shrink:0;min-height:100%;width:3px}.reply-quote-other .reply-quote-line{background:var(--accent)}.reply-quote-body{display:flex;flex-direction:column;gap:1px;min-width:0}.reply-quote-sender{color:#ffffffd9;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-quote-other .reply-quote-sender{color:var(--accent)}.reply-quote-text{color:#ffffffb3;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-quote-other .reply-quote-text{color:var(--text-secondary)}.msg-text{word-wrap:break-word;font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap}.msg-image{border-radius:calc(var(--radius-lg) - 4px);cursor:pointer;display:block;max-height:300px;max-width:100%;object-fit:cover;transition:var(--transition)}.msg-image:hover{opacity:.9}.file-attachment{color:inherit;gap:10px;min-width:180px;text-decoration:none}.file-attachment,.file-icon{align-items:center;display:flex}.file-icon{background:#ffffff1a;border-radius:var(--radius-md);flex-shrink:0;height:36px;justify-content:center;width:36px}.file-icon svg{height:20px;width:20px}.file-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.file-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-action{font-size:11px;opacity:.7}.file-dl{flex-shrink:0}.file-dl svg{height:16px;opacity:.7;width:16px}.msg-meta{align-items:center;display:flex;gap:4px;justify-content:flex-end;margin-top:4px}.msg-time{font-size:10px;opacity:.65;white-space:nowrap}.msg-seen{align-items:center;display:flex;opacity:.65}.msg-seen.seen{opacity:1}.msg-seen svg{height:14px;width:14px}@media (max-width:480px){.bubble-group{max-width:85%}.msg-image{max-height:220px}.inline-reply-btn{opacity:1;transform:scale(1)}}.group-info-header{align-items:center;display:flex;flex-direction:column;gap:6px;padding:10px 0}.group-info-avatar{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#a78bfa 100%);border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin-bottom:4px;width:64px}.group-info-avatar svg{height:32px;width:32px}.group-info-name{color:var(--text-primary);font-size:18px;font-weight:600}.group-info-count{color:var(--text-secondary);font-size:13px}.members-section{gap:8px}.members-list,.members-section{display:flex;flex-direction:column}.members-list{gap:2px;max-height:240px;overflow-y:auto}.member-item{align-items:center;border-radius:var(--radius-md);display:flex;gap:10px;padding:8px 10px;transition:var(--transition)}.member-item:hover{background:var(--bg-hover)}.member-info{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.member-name{color:var(--text-primary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-badge{background:var(--accent-soft);border-radius:var(--radius-full);color:var(--accent);flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.remove-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:var(--transition);width:28px}.remove-btn:hover{background:var(--red-soft);color:var(--red)}.remove-btn svg{height:14px;width:14px}.btn-danger{background:var(--red-soft);border:1px solid #f8717133;border-radius:var(--radius-md);color:var(--red);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:11px;transition:var(--transition)}.btn-danger:hover{background:#f8717140}.chat-window{flex-direction:column;overflow:hidden;position:relative}.chat-empty,.chat-window{background:var(--bg-primary);display:flex;height:100%}.chat-empty{align-items:center;justify-content:center}.chat-empty-content{align-items:center;display:flex;flex-direction:column;gap:12px;padding:20px;text-align:center}.chat-empty-icon{color:var(--text-muted);height:80px;margin-bottom:8px;width:80px}.chat-empty-icon svg{height:100%;width:100%}.chat-empty-content h2{color:var(--text-secondary);font-size:20px;font-weight:600}.chat-empty-content p{color:var(--text-muted);font-size:14px;max-width:260px}.chat-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:12px;min-height:64px;padding:12px 16px}.back-btn,.chat-header{align-items:center;display:flex;flex-shrink:0}.back-btn{background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;height:36px;justify-content:center;transition:var(--transition);width:36px}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.back-btn svg{height:20px;width:20px}.mobile-only{display:none}@media (max-width:768px){.mobile-only{display:flex}}.group-avatar-sm{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#a78bfa 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.group-avatar-sm svg{height:20px;width:20px}.group-avatar-lg{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#a78bfa 100%);border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;width:64px}.group-avatar-lg svg{height:32px;width:32px}.chat-header-info{flex:1 1;min-width:0}.chat-header-name{color:var(--text-primary);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-status{color:var(--text-secondary);display:block;font-size:12px}.messages-area{background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#6c8aff08 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#a78bfa08 0,#0000 50%);gap:2px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px}.messages-area,.messages-empty{display:flex;flex:1 1;flex-direction:column}.messages-empty{align-items:center;gap:10px;justify-content:center;padding:40px 20px}.messages-empty-avatar{margin-bottom:8px}.messages-empty-name{color:var(--text-primary);font-size:18px;font-weight:600}.messages-empty-hint{color:var(--text-secondary);font-size:13px}.msg-highlight{animation:highlightPulse 1.5s ease}@keyframes highlightPulse{0%,to{background:#0000}30%{background:#6c8aff26;border-radius:8px}}.typing-indicator{align-items:center;animation:fadeIn .2s ease;display:flex;gap:8px;padding:4px 0}.typing-dots{background:var(--bg-tertiary);border-radius:var(--radius-xl);border-bottom-left-radius:4px;display:flex;gap:4px;padding:10px 14px}.typing-dots span{animation:blink 1.4s ease-in-out infinite;background:var(--text-muted);border-radius:50%;height:7px;width:7px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.typing-text{color:var(--text-muted);font-size:12px;font-style:italic}.reply-preview-bar{align-items:center;animation:slideUpFade .2s ease;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;padding:10px 16px}@keyframes slideUpFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.reply-preview-line{background:var(--accent);border-radius:var(--radius-full);flex-shrink:0;min-height:36px;width:3px}.reply-preview-content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.reply-preview-top{align-items:center;display:flex;gap:5px}.reply-icon{color:var(--accent);flex-shrink:0;height:13px;width:13px}.reply-preview-sender{color:var(--accent);font-size:12px}.reply-preview-sender strong{font-weight:700}.reply-preview-text{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-cancel-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:var(--transition);width:28px}.reply-cancel-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.reply-cancel-btn svg{height:15px;width:15px}.chat-input-area{align-items:flex-end;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.attach-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:var(--transition);width:40px}.attach-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.attach-btn:disabled{cursor:not-allowed;opacity:.5}.attach-btn svg{height:18px;width:18px}.mini-spinner{animation:spin .8s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:16px;width:16px}.input-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-xl);flex:1 1;overflow:hidden;transition:var(--transition)}.input-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.message-textarea{background:#0000;border:none;color:var(--text-primary);display:block;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5;max-height:120px;outline:none;overflow-y:auto;padding:11px 16px;resize:none;width:100%}.message-textarea::placeholder,.send-btn{color:var(--text-muted)}.send-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-full);cursor:not-allowed;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:var(--transition);width:40px}.send-btn.active{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px var(--accent-glow);color:#fff;cursor:pointer}.send-btn.active:hover{background:var(--accent-hover);transform:scale(1.05)}.send-btn svg{height:17px;width:17px}.hidden-input{display:none}@media (max-width:480px){.messages-area{padding:12px}.chat-input-area{padding:8px 12px}}.chat-page{background:var(--bg-primary);display:flex;height:100%;min-height:0;overflow:hidden;width:100%}.chat-sidebar-wrapper{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:var(--sidebar-width)}.chat-main-wrapper,.chat-sidebar-wrapper{display:flex;height:100%;min-height:0;overflow:hidden}.chat-main-wrapper{flex:1 1;flex-direction:column;min-width:0}@media (max-width:768px){.chat-sidebar-wrapper{transition:transform .3s ease;z-index:10}.chat-main-wrapper,.chat-sidebar-wrapper{bottom:0;left:0;position:absolute;top:0;width:100%}.chat-sidebar-wrapper.mobile-hidden{pointer-events:none;transform:translateX(-100%)}.chat-main-wrapper.mobile-hidden{display:none}}:root{--bg-primary:#0d0f14;--bg-secondary:#13161e;--bg-tertiary:#1a1e28;--bg-hover:#1f2433;--bg-active:#252a3a;--accent:#6c8aff;--accent-soft:#6c8aff26;--accent-glow:#6c8aff4d;--accent-hover:#7e9aff;--green:#4ade80;--green-soft:#4ade8026;--red:#f87171;--red-soft:#f8717126;--yellow:#fbbf24;--text-primary:#e8eaf0;--text-secondary:#8892a4;--text-muted:#4a5568;--text-accent:#6c8aff;--border:#ffffff12;--border-active:#6c8aff66;--sidebar-width:320px;--topbar-height:60px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-glow:0 0 20px #6c8aff33;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}body,html{-webkit-text-size-adjust:100%;font-size:16px;height:100%;overflow:hidden;width:100%}body{background:#0d0f14;background:var(--bg-primary);color:#e8eaf0;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}#root{overflow:hidden;width:100%}#root,.splash-screen{display:flex;flex-direction:column;height:100%}.splash-screen{align-items:center;background:#0d0f14;background:var(--bg-primary);gap:24px;justify-content:center}.splash-logo{align-items:center;display:flex;font-family:Space Mono,monospace;font-size:28px;font-weight:700;gap:12px}.splash-logo,.splash-logo svg{color:#6c8aff;color:var(--accent)}.splash-logo svg{height:44px;width:44px}.splash-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff12;border-top-color:#6c8aff;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff12;background:var(--border);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#4a5568;background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes messageIn{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@supports (padding:max(0px)){.chat-input-area{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
/*# sourceMappingURL=main.1bfe894d.css.map*/