:root{--bg-color:#0f172a;--text-color:#f8fafc;--text-muted:#94a3b8;--glass-bg:#1e293b66;--glass-border:#ffffff0d;--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f14d;--accent-color:#06b6d4;--error-color:#ef4444;--success-color:#22c55e;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif}body{color:var(--text-color);background-color:#090d16;background-image:radial-gradient(at 15% 15%,#6366f140 0,#0000 55%),radial-gradient(at 85% 15%,#a855f740 0,#0000 55%),radial-gradient(at 50% 80%,#06b6d433 0,#0000 55%);justify-content:center;align-items:center;min-height:100vh;display:flex}body:before,body:after{content:"";filter:blur(100px);z-index:-1;pointer-events:none;border-radius:50%;width:350px;height:350px;animation:25s ease-in-out infinite alternate floatOrb;position:fixed}body:before{background:#6366f14d;top:15%;left:15%}body:after{background:#a855f740;animation-duration:35s;animation-delay:-10s;bottom:15%;right:15%}@keyframes floatOrb{0%{transform:translate(0)scale(1)}to{transform:translate(80px,60px)scale(1.3)}}#root{justify-content:center;align-items:center;width:100vw;min-height:100vh;display:flex}.app-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.glass-panel{-webkit-backdrop-filter:blur(25px)saturate(180%);background:#0f172a66;border:1px solid #ffffff12;box-shadow:0 10px 40px #0009}.auth-card{border-radius:var(--radius-lg);width:100%;max-width:450px;margin:20px;padding:40px}.brand{text-align:center;margin-bottom:30px}.brand-icon{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px var(--primary-glow));-webkit-background-clip:text;margin-bottom:10px;font-size:3rem}.brand h1{letter-spacing:1px;font-size:2rem;font-weight:700}.brand p{color:var(--text-muted);margin-top:5px;font-size:.9rem}.auth-tabs{border-radius:var(--radius-md);background:#0003;margin-bottom:30px;padding:4px;display:flex}.auth-tab{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;flex:1;padding:12px;font-size:1rem;font-weight:600}.auth-tab.active{background:var(--primary-color);color:var(--text-color);box-shadow:0 4px 12px var(--primary-glow)}.auth-form{flex-direction:column;gap:20px;display:flex}.input-group{align-items:center;display:flex;position:relative}.input-group i:first-child{color:var(--text-muted);transition:var(--transition);position:absolute;left:15px}.input-group input{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-color);transition:var(--transition);background:#0003;outline:none;padding:14px 40px;font-size:.95rem}.input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--primary-glow);background:#0000004d}.input-group input:focus~i:first-child{color:var(--primary-color)}.passphrase-group{position:relative}.tooltip{cursor:pointer;color:var(--text-muted);position:absolute;right:15px}.tooltip .tooltiptext{visibility:hidden;color:#fff;text-align:center;z-index:1;opacity:0;border:1px solid var(--glass-border);background-color:#1e293b;border-radius:6px;width:200px;margin-bottom:10px;padding:8px;font-size:.75rem;transition:opacity .3s;position:absolute;bottom:125%;right:0;box-shadow:0 4px 12px #00000080}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.btn-primary{background:linear-gradient(135deg, var(--primary-color), var(--primary-hover));color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);box-shadow:0 4px 12px var(--primary-glow);border:none;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:1rem;font-weight:600;display:flex}.btn-primary:hover{box-shadow:0 6px 16px var(--primary-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.auth-message{text-align:center;min-height:20px;transition:var(--transition);margin-top:15px;font-size:.85rem}.auth-message.error{color:var(--error-color)}.auth-message.success{color:var(--success-color)}.app-layout{gap:20px;width:95vw;max-width:1400px;height:90vh;display:flex}.sidebar{border-radius:var(--radius-lg);flex-direction:column;width:350px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:20px;display:flex}.user-profile{align-items:center;gap:12px;display:flex}.avatar{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 2px 8px #0003}.user-info h3{font-size:.95rem;font-weight:600}.user-info span{color:var(--text-muted);font-size:.75rem}#btn-logout{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;font-size:1.2rem}#btn-logout:hover{color:var(--error-color)}.search-bar{align-items:center;padding:15px 20px;display:flex;position:relative}.search-bar i{color:var(--text-muted);position:absolute;left:35px}.search-bar input{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-color);transition:var(--transition);background:#0003;outline:none;padding:10px 15px 10px 40px}.search-bar input:focus{border-color:var(--primary-color);background:#0000004d}.users-list{flex:1;padding:0 10px 20px;overflow-y:auto}.user-item{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;margin-bottom:5px;padding:12px 15px;display:flex}.user-item:hover{background:#ffffff0d}.user-item.active{background:var(--glass-bg);border:1px solid var(--glass-border)}.user-item .avatar{width:35px;height:35px;font-size:1rem}.user-item-info h4{font-size:.9rem;font-weight:500}.user-item-info p{color:var(--text-muted);font-size:.75rem}.active-chat-indicator{color:var(--accent-color);filter:drop-shadow(0 0 4px #06b6d480);margin-left:auto;font-size:.5rem}.empty-state{text-align:center;color:var(--text-muted);padding:20px;font-size:.9rem}.chat-area{border-radius:var(--radius-lg);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.empty-chat-state{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:15px;display:flex}.empty-chat-state i{background:linear-gradient(135deg, var(--primary-color), var(--accent-color));-webkit-text-fill-color:transparent;opacity:.5;-webkit-background-clip:text;font-size:4rem}.active-chat-container{flex-direction:column;height:100%;display:flex}.chat-header{border-bottom:1px solid var(--glass-border);align-items:center;gap:15px;padding:20px;display:flex}.encryption-status{color:var(--success-color);align-items:center;gap:5px;font-size:.75rem;display:flex}.message-history{flex-direction:column;flex:1;gap:15px;padding:20px;display:flex;overflow-y:auto}.message-bubble{border-radius:var(--radius-md);max-width:65%;padding:12px 16px;font-size:.95rem;line-height:1.4;animation:.3s forwards messageIn;position:relative}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.sent{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px var(--primary-glow);border-bottom-right-radius:4px;align-self:flex-end}.message-bubble.received{color:var(--text-color);border:1px solid var(--glass-border);background:#ffffff0d;border-bottom-left-radius:4px;align-self:flex-start}.message-meta{color:#fff9;text-align:right;margin-top:5px;font-size:.65rem}.message-bubble.received .message-meta{color:var(--text-muted)}.message-input-area{border-top:1px solid var(--glass-border);gap:15px;padding:20px;display:flex}.message-input-area input{border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-color);transition:var(--transition);background:#0003;outline:none;flex:1;padding:14px 20px}.message-input-area input:focus{border-color:var(--primary-color);background:#0000004d}.btn-send{background:var(--primary-color);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:48px;height:48px;transition:var(--transition);box-shadow:0 4px 12px var(--primary-glow);border:none;justify-content:center;align-items:center;display:flex}.btn-send:hover{background:var(--primary-hover);transform:scale(1.05)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.btn-delete-msg{color:#fff6;cursor:pointer;transition:var(--transition);background:0 0;border:none;margin-left:8px;font-size:.8rem}.btn-delete-msg:hover{color:var(--error-color)}
