@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:rgba(17,24,39,0.75);--bg-glass-light:rgba(30,41,59,0.6);--bg-card:rgba(30,41,59,0.5);--bg-input:rgba(15,23,42,0.8);--bg-own-message:linear-gradient(135deg,#6366f1,#8b5cf6);--bg-other-message:rgba(30,41,59,0.7);--bg-system-message:rgba(56,189,248,0.08);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#a5b4fc;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:rgba(99,102,241,0.3);--success:#22c55e;--danger:#ef4444;--danger-hover:#dc2626;--warning:#f59e0b;--border:rgba(148,163,184,0.12);--border-focus:rgba(99,102,241,0.5);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,0.3);--shadow-md:0 8px 24px rgba(0,0,0,0.4);--shadow-lg:0 16px 48px rgba(0,0,0,0.5);--shadow-glow:0 0 30px var(--accent-glow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,rgba(99,102,241,.08) 0,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.06) 0,transparent 60%);color:var(--text-primary)}.App,body{min-height:100vh}.App{display:flex;flex-direction:column;max-width:1100px;margin:0 auto}.App-header{justify-content:space-between;padding:1rem 1.5rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--bg-glass);border-bottom:1px solid var(--border)}.App-header,.App-header h1{display:flex;align-items:center}.App-header h1{font-size:1.4rem;font-weight:700;grid-gap:.5rem;gap:.5rem;background:linear-gradient(135deg,#a5b4fc,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-icon{-webkit-text-fill-color:initial;font-size:1.3rem}.App-main{flex:1 1;display:flex;flex-direction:column;padding:1.5rem}.connection-status{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.8rem;color:var(--text-secondary);font-weight:500}.status-indicator{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-connected{background:var(--success);box-shadow:0 0 8px rgba(34,197,94,.5)}.status-disconnected{background:var(--danger)}.status-connecting{background:var(--warning)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.user-setup{max-width:420px;width:100%;margin:3rem auto;padding:2.5rem 2rem;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-glow);text-align:center}.user-setup h2{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.user-setup>p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.user-setup-form{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem}.user-setup input{padding:.8rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color .25s,box-shadow .25s}.user-setup input::placeholder{color:var(--text-muted)}.user-setup input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.user-setup input:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.user-setup button[type=submit]{padding:.8rem 1.5rem;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.user-setup button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.user-setup button[type=submit]:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{padding:.6rem 1.2rem;background:transparent;color:var(--text-accent);border:1px solid rgba(99,102,241,.3);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s}.btn-secondary:hover:not(:disabled){background:rgba(99,102,241,.1);border-color:var(--accent)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.password-field{position:relative}.password-strength{font-size:.75rem;font-weight:500;margin-top:.3rem;text-align:left;transition:color .3s}.error-message{padding:.75rem 1rem;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);color:#fca5a5;font-size:.85rem;font-weight:500;text-align:left}.error-message.security-warning{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25);color:#fcd34d}.security-info{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.15);border-radius:var(--radius-sm);padding:1rem;margin-top:.5rem;text-align:left}.security-info h4{font-size:.85rem;color:#86efac;margin-bottom:.5rem;display:flex;align-items:center;grid-gap:.3rem;gap:.3rem}.security-info ul{padding-left:1.2rem;color:var(--text-secondary)}.security-info li{font-size:.78rem;margin-bottom:.2rem;line-height:1.4}.username-rules{margin-top:.5rem;padding:.75rem;background:rgba(99,102,241,.06);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);font-size:.78rem;text-align:left;line-height:1.5}.username-rules strong{color:var(--text-accent)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 120px);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.chat-header{justify-content:space-between;padding:.75rem 1.25rem;background:rgba(15,23,42,.5);border-bottom:1px solid var(--border)}.chat-header,.user-info{display:flex;align-items:center}.user-info{grid-gap:.75rem;gap:.75rem;color:var(--text-secondary);font-size:.9rem}.username-display{font-weight:600;color:var(--text-accent);cursor:default}.chat-controls{display:flex;grid-gap:.5rem;gap:.5rem}.btn-danger{padding:.5rem 1rem;background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s}.btn-danger:hover{background:rgba(239,68,68,.25);border-color:var(--danger)}.chat-content{display:flex;flex:1 1;min-height:0}.chat-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.users-sidebar{width:220px;background:rgba(15,23,42,.4);border-left:1px solid var(--border);padding:1rem;overflow-y:auto}.users-sidebar h3{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.users-list{list-style:none;display:flex;flex-direction:column;grid-gap:.35rem;gap:.35rem}.users-list li{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary);transition:background .2s}.users-list li:hover{background:rgba(99,102,241,.06)}.users-list li.current-user{color:var(--text-accent);font-weight:500}.user-avatar{width:28px;height:28px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;text-transform:uppercase}.online-dot,.user-avatar{border-radius:50%;flex-shrink:0}.online-dot{width:6px;height:6px;background:var(--success);box-shadow:0 0 6px rgba(34,197,94,.4);margin-left:auto}.sidebar-general{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;width:100%;padding:.6rem .7rem;margin-bottom:.75rem;background:rgba(99,102,241,.06);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s}.sidebar-general:hover{background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.3)}.sidebar-general.active{background:rgba(99,102,241,.15);border-color:var(--accent);color:var(--text-accent)}.users-list li.clickable-user{cursor:pointer}.users-list li.clickable-user:hover{background:rgba(99,102,241,.1)}.users-list li.active{background:rgba(99,102,241,.15);border-left:3px solid var(--accent);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{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;flex-shrink:0;animation:badgePop .3s ease-out}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.dm-indicator{padding:.15rem .5rem;background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.35);border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.05em}.dm-indicator,.private-label{display:inline-flex;align-items:center;color:#c4b5fd;text-transform:uppercase}.private-label{padding:.1rem .4rem;background:rgba(139,92,246,.15);border-radius:var(--radius-full);font-size:.6rem;font-weight:600;letter-spacing:.04em}.btn-clear{padding:.5rem 1rem;background:rgba(148,163,184,.1);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s}.btn-clear:hover{background:rgba(148,163,184,.2);color:var(--text-primary);border-color:rgba(148,163,184,.3)}.message-list{flex:1 1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:rgba(148,163,184,.2);border-radius:3px}.no-messages{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-muted);font-size:.95rem}.message{display:flex;grid-gap:.6rem;gap:.6rem;max-width:75%;animation:fadeSlideIn .3s ease-out}@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{width:32px;height:32px;border-radius:50%;background:var(--bg-glass-light);border:1px solid var(--border);color:var(--text-accent);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;text-transform:uppercase;margin-top:.15rem}.own-message .message-avatar{background:rgba(99,102,241,.2);color:#c4b5fd}.message-bubble{padding:.6rem .9rem;border-radius:var(--radius-md);background:var(--bg-other-message);border:1px solid var(--border);min-width:0}.own-message .message-bubble{background:var(--bg-own-message);border:none}.message-header{display:flex;justify-content:space-between;align-items:baseline;grid-gap:.75rem;gap:.75rem;margin-bottom:.25rem}.message-username{font-weight:600;font-size:.8rem;color:var(--text-accent)}.own-message .message-username{color:hsla(0,0%,100%,.85)}.message-timestamp{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.own-message .message-timestamp{color:hsla(0,0%,100%,.5)}.message-content{font-size:.9rem;line-height:1.45;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word}.own-message .message-content{color:#fff}.system-message{max-width:100%;align-self:center;padding:.4rem 1rem;background:var(--bg-system-message);border:1px solid rgba(56,189,248,.12);border-radius:var(--radius-full);font-size:.78rem;font-style:italic;color:#7dd3fc;text-align:center}.message-input{padding:.75rem 1.25rem;border-top:1px solid var(--border);background:rgba(15,23,42,.4)}.message-input-form{display:flex;grid-gap:.6rem;gap:.6rem;align-items:center}.message-input-form input{flex:1 1;padding:.7rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:border-color .25s,box-shadow .25s}.message-input-form input::placeholder{color:var(--text-muted)}.message-input-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.send-button{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;flex-shrink:0}.send-button:hover:not(:disabled){transform:scale(1.08);box-shadow:var(--shadow-glow)}.send-button:disabled{opacity:.3;cursor:not-allowed}.character-count{font-size:.7rem;color:var(--text-muted);text-align:right;margin-top:.3rem;padding-right:3.5rem}@media (max-width:768px){.App-main{padding:.75rem}.App-header{padding:.75rem 1rem}.App-header h1{font-size:1.2rem}.chat-container{height:calc(100vh - 100px);border-radius:var(--radius-md)}.chat-content{flex-direction:column}.users-sidebar{width:100%;border-left:none;border-top:1px solid var(--border);max-height:120px;order:2}.users-list{flex-direction:row;flex-wrap:wrap;grid-gap:.3rem;gap:.3rem}.users-list li{flex:0 0 auto}.chat-main{order:1}.chat-header{flex-wrap:wrap;grid-gap:.5rem;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.576bece7.chunk.css.map */