@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-glass:#111827bf;--bg-glass-light:#1e293b99;--bg-card:#1e293b80;--bg-input:#0f172acc;--bg-own-message:linear-gradient(135deg,#6366f1,#8b5cf6);--bg-other-message:#1e293bb3;--bg-system-message:#38bdf814;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#a5b4fc;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:#6366f14d;--success:#22c55e;--danger:#ef4444;--danger-hover:#dc2626;--warning:#f59e0b;--border:#94a3b81f;--border-focus:#6366f180;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 48px #00000080;--shadow-glow:0 0 30px var(--accent-glow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e1a;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#6366f114 0,#0000 60%),radial-gradient(ellipse at 80% 20%,#8b5cf60f 0,#0000 60%);color:#f1f5f9;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.App,body{min-height:100vh}.App{display:flex;flex-direction:column;margin:0 auto;max-width:1100px}.App-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111827bf;background:var(--bg-glass);border-bottom:1px solid #94a3b81f;border-bottom:1px solid var(--border);justify-content:space-between;padding:1rem 1.5rem}.App-header,.App-header h1{align-items:center;display:flex}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a5b4fc,#c084fc);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700;gap:.5rem}.header-icon{-webkit-text-fill-color:initial;font-size:1.3rem}.App-main{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.connection-status{align-items:center;color:#94a3b8;color:var(--text-secondary);display:flex;font-size:.8rem;font-weight:500;gap:.5rem}.status-indicator{animation:pulse 2s ease-in-out infinite;border-radius:50%;height:8px;width:8px}.status-connected{background:#22c55e;background:var(--success);box-shadow:0 0 8px #22c55e80}.status-disconnected{background:#ef4444;background:var(--danger)}.status-connecting{background:#f59e0b;background:var(--warning)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.user-setup{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827bf;background:var(--bg-glass);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 16px 48px #00000080,0 0 30px #6366f14d;box-shadow:var(--shadow-lg),var(--shadow-glow);margin:3rem auto;max-width:420px;padding:2.5rem 2rem;text-align:center;width:100%}.user-setup h2{color:#f1f5f9;color:var(--text-primary);font-size:1.6rem;font-weight:700;margin-bottom:.5rem}.user-setup>p{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.user-setup-form{display:flex;flex-direction:column;gap:1rem}.user-setup input{background:#0f172acc;background:var(--bg-input);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f1f5f9;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.8rem 1rem;transition:border-color .25s,box-shadow .25s}.user-setup input::placeholder{color:#64748b;color:var(--text-muted)}.user-setup input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f14d;box-shadow:0 0 0 3px var(--accent-glow);outline:none}.user-setup input:disabled{cursor:not-allowed;opacity:.5}.btn-primary,.user-setup button[type=submit]{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--accent),#8b5cf6);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:transform .2s,box-shadow .2s,opacity .2s}.user-setup button[type=submit]:hover:not(:disabled){box-shadow:0 0 30px #6366f14d;box-shadow:var(--shadow-glow);transform:translateY(-2px)}.user-setup button[type=submit]:disabled{cursor:not-allowed;opacity:.4;transform:none}.btn-secondary{background:#0000;border:1px solid #6366f14d;border-radius:8px;border-radius:var(--radius-sm);color:#a5b4fc;color:var(--text-accent);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:all .25s}.btn-secondary:hover:not(:disabled){background:#6366f11a;border-color:#6366f1;border-color:var(--accent)}.btn-secondary:disabled{cursor:not-allowed;opacity:.4}.password-field{position:relative}.password-strength{font-size:.75rem;font-weight:500;margin-top:.3rem;text-align:left;transition:color .3s}.error-message{background:#ef44441f;border:1px solid #ef444440;border-radius:8px;border-radius:var(--radius-sm);color:#fca5a5;font-size:.85rem;font-weight:500;padding:.75rem 1rem;text-align:left}.error-message.security-warning{background:#f59e0b1a;border-color:#f59e0b40;color:#fcd34d}.security-info{background:#22c55e0f;border:1px solid #22c55e26;border-radius:8px;border-radius:var(--radius-sm);margin-top:.5rem;padding:1rem;text-align:left}.security-info h4{align-items:center;color:#86efac;display:flex;font-size:.85rem;gap:.3rem;margin-bottom:.5rem}.security-info ul{color:#94a3b8;color:var(--text-secondary);padding-left:1.2rem}.security-info li{font-size:.78rem;line-height:1.4;margin-bottom:.2rem}.username-rules{background:#6366f10f;border-left:3px solid #6366f1;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:#94a3b8;color:var(--text-secondary);font-size:.78rem;line-height:1.5;margin-top:.5rem;padding:.75rem;text-align:left}.username-rules strong{color:#a5b4fc;color:var(--text-accent)}.chat-container{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111827bf;background:var(--bg-glass);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);display:flex;flex-direction:column;height:calc(100vh - 120px);overflow:hidden}.chat-header{background:#0f172a80;border-bottom:1px solid #94a3b81f;border-bottom:1px solid var(--border);justify-content:space-between;padding:.75rem 1.25rem}.chat-header,.user-info{align-items:center;display:flex}.user-info{color:#94a3b8;color:var(--text-secondary);font-size:.9rem;gap:.75rem}.username-display{color:#a5b4fc;color:var(--text-accent);cursor:default;font-weight:600}.chat-controls{display:flex;gap:.5rem}.btn-danger{background:#ef444426;border:1px solid #ef44444d;border-radius:8px;border-radius:var(--radius-sm);color:#fca5a5;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .25s}.btn-danger:hover{background:#ef444440;border-color:#ef4444;border-color:var(--danger)}.chat-content{display:flex;flex:1 1;min-height:0}.chat-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.users-sidebar{background:#0f172a66;border-left:1px solid #94a3b81f;border-left:1px solid var(--border);overflow-y:auto;padding:1rem;width:220px}.users-sidebar h3{color:#64748b;color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.users-list{display:flex;flex-direction:column;gap:.35rem;list-style:none}.users-list li{align-items:center;border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .6rem;transition:background .2s}.users-list li:hover{background:#6366f10f}.users-list li.current-user{color:#a5b4fc;color:var(--text-accent);font-weight:500}.user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:flex;font-size:.7rem;font-weight:700;height:28px;justify-content:center;text-transform:uppercase;width:28px}.online-dot,.user-avatar{border-radius:50%;flex-shrink:0}.online-dot{background:#22c55e;background:var(--success);box-shadow:0 0 6px #22c55e66;height:6px;margin-left:auto;width:6px}.sidebar-general{align-items:center;background:#6366f10f;border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:500;gap:.5rem;margin-bottom:.75rem;padding:.6rem .7rem;transition:all .2s;width:100%}.sidebar-general:hover{background:#6366f11f;border-color:#6366f14d}.sidebar-general.active{background:#6366f126;border-color:#6366f1;border-color:var(--accent);color:#a5b4fc;color:var(--text-accent)}.users-list li.clickable-user{cursor:pointer}.users-list li.clickable-user:hover{background:#6366f11a}.users-list li.active{background:#6366f126;border-left:3px solid #6366f1;border-left:3px solid var(--accent);color:#a5b4fc;color:var(--text-accent);font-weight:500}.user-name-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{align-items:center;animation:badgePop .3s ease-out;background:#ef4444;background:var(--danger);border-radius:9999px;border-radius:var(--radius-full);color:#fff;display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.dm-indicator{background:#8b5cf633;border:1px solid #8b5cf659;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.15rem .5rem}.dm-indicator,.private-label{align-items:center;border-radius:9999px;border-radius:var(--radius-full);color:#c4b5fd;display:inline-flex;text-transform:uppercase}.private-label{background:#8b5cf626;font-size:.6rem;font-weight:600;letter-spacing:.04em;padding:.1rem .4rem}.btn-clear{background:#94a3b81a;border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .25s}.btn-clear:hover{background:#94a3b833;border-color:#94a3b84d;color:#f1f5f9;color:var(--text-primary)}.message-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding:1rem 1.25rem}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:#0000}.message-list::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.no-messages{align-items:center;color:#64748b;color:var(--text-muted);display:flex;font-size:.95rem;height:100%;justify-content:center}.message{animation:fadeSlideIn .3s ease-out;display:flex;gap:.6rem;max-width:75%}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.own-message{align-self:flex-end;flex-direction:row-reverse}.message-avatar{align-items:center;background:#1e293b99;background:var(--bg-glass-light);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:50%;color:#a5b4fc;color:var(--text-accent);display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:32px;justify-content:center;margin-top:.15rem;text-transform:uppercase;width:32px}.own-message .message-avatar{background:#6366f133;color:#c4b5fd}.message-bubble{background:#1e293bb3;background:var(--bg-other-message);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);min-width:0;padding:.6rem .9rem}.own-message .message-bubble{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--bg-own-message);border:none}.message-header{align-items:baseline;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.25rem}.message-username{color:#a5b4fc;color:var(--text-accent);font-size:.8rem;font-weight:600}.own-message .message-username{color:#ffffffd9}.message-timestamp{color:#64748b;color:var(--text-muted);font-size:.7rem;white-space:nowrap}.own-message .message-timestamp{color:#ffffff80}.message-content{word-wrap:break-word;color:#f1f5f9;color:var(--text-primary);font-size:.9rem;line-height:1.45;overflow-wrap:break-word}.own-message .message-content{color:#fff}.system-message{align-self:center;background:#38bdf814;background:var(--bg-system-message);border:1px solid #38bdf81f;border-radius:9999px;border-radius:var(--radius-full);color:#7dd3fc;font-size:.78rem;font-style:italic;max-width:100%;padding:.4rem 1rem;text-align:center}.message-input{background:#0f172a66;border-top:1px solid #94a3b81f;border-top:1px solid var(--border);padding:.75rem 1.25rem}.message-input-form{align-items:center;display:flex;gap:.6rem}.message-input-form input{background:#0f172acc;background:var(--bg-input);border:1px solid #94a3b81f;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-full);color:#f1f5f9;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.9rem;padding:.7rem 1rem;transition:border-color .25s,box-shadow .25s}.message-input-form input::placeholder{color:#64748b;color:var(--text-muted)}.message-input-form input:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f14d;box-shadow:0 0 0 3px var(--accent-glow);outline:none}.send-button{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--accent),#8b5cf6);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:42px;justify-content:center;transition:transform .2s,box-shadow .2s,opacity .2s;width:42px}.send-button:hover:not(:disabled){box-shadow:0 0 30px #6366f14d;box-shadow:var(--shadow-glow);transform:scale(1.08)}.send-button:disabled{cursor:not-allowed;opacity:.3}.character-count{color:#64748b;color:var(--text-muted);font-size:.7rem;margin-top:.3rem;padding-right:3.5rem;text-align:right}@media (max-width:768px){.App-main{padding:.75rem}.App-header{padding:.75rem 1rem}.App-header h1{font-size:1.2rem}.chat-container{border-radius:12px;border-radius:var(--radius-md);height:calc(100vh - 100px)}.chat-content{flex-direction:column}.users-sidebar{border-left:none;border-top:1px solid #94a3b81f;border-top:1px solid var(--border);max-height:120px;order:2;width:100%}.users-list{flex-direction:row;flex-wrap:wrap;gap:.3rem}.users-list li{flex:0 0 auto}.chat-main{order:1}.chat-header{flex-wrap:wrap;gap:.5rem;padding:.6rem 1rem}.message{max-width:88%}.user-setup{margin:1.5rem auto;padding:2rem 1.5rem}}@media (max-width:480px){.App-main{padding:.5rem}.message{max-width:92%}.message-input{padding:.6rem .75rem}.user-setup{padding:1.5rem 1rem}}
/*# sourceMappingURL=main.9ee2eaa4.css.map*/