#root{height:100vh;overflow:hidden;margin:0;padding:0;max-width:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--system-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif}body{font-family:var(--system-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden;height:100vh}.sidebar{width:300px;background-color:#f8f9fa;border-right:1px solid #e1e1e1;display:flex;flex-direction:column;overflow:hidden}.sidebar>div{height:100%;overflow-y:auto;padding:1rem}.messages-container{flex:1;overflow-y:auto;padding:1rem}.message-input{padding:1rem;background-color:#fff;border-top:1px solid #e1e1e1;display:flex;gap:.5rem}.section-title{margin:1rem 0;padding-bottom:.5rem;border-bottom:1px solid #e1e1e1}.friend-add{display:flex;gap:.5rem;margin-bottom:1rem}.empty-state{color:#6c757d;text-align:center;padding:1rem}.message{display:flex;flex-direction:column;margin-bottom:1rem}.message-bubble{max-width:70%;padding:.5rem 1rem;border-radius:1rem;background-color:#007bff;color:#fff}.message-time{font-size:.75rem;color:#6c757d;margin-top:.25rem}.request-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid #e1e1e1;border-radius:8px;margin-bottom:.5rem;background-color:#fff}.request-buttons{display:flex;gap:.5rem}.request-buttons button{padding:.4rem .8rem;font-size:.9rem}.app-container{height:100vh;overflow:hidden;padding:1rem;box-sizing:border-box}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:#fff;border-bottom:1px solid #e1e1e1;box-shadow:0 2px 4px #0000001a;height:40px}.app-main{flex:1;display:flex;overflow:hidden;height:calc(100vh - 40px)}.container{display:flex;height:100%;overflow:hidden}.sidebar{width:280px;background-color:#f8f9fa;border-right:1px solid #e1e1e1;display:flex;flex-direction:column;overflow:hidden}.sidebar>div{height:100%;overflow-y:auto;padding:.5rem}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{padding:.5rem 1rem;border-bottom:1px solid #e1e1e1;background-color:#fff}.messages-container{flex:1;overflow-y:auto;padding:.5rem 1rem;display:flex;flex-direction:column}.message-group{margin-bottom:1rem}.message-date-divider{text-align:center;margin:1rem 0;position:relative}.message-date-divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background-color:#e1e1e1;z-index:1}.message-date-divider span{background-color:#fff;padding:0 1rem;color:#666;font-size:.8rem;position:relative;z-index:2}.message-input{padding:.5rem;background-color:#fff;border-top:1px solid #e1e1e1;display:flex;gap:.5rem;min-height:50px}.message-input input{flex:1;padding:.5rem;border:1px solid #e1e1e1;border-radius:4px}.section-title{margin:.5rem 0;padding-bottom:.25rem;border-bottom:1px solid #e1e1e1;font-size:.9rem}.friend-add{display:flex;gap:.5rem;margin-bottom:.5rem}.friend-add input{flex:1;padding:.5rem;border:1px solid #e1e1e1;border-radius:4px}.friend-item{padding:.75rem;cursor:pointer;border-radius:8px;margin-bottom:.25rem;transition:background-color .2s}.friend-item:hover{background-color:#f0f2f5}.friend-item.active{background-color:#e7f3ff}.empty-state{color:#6c757d;text-align:center;padding:.5rem;font-size:.9rem}.message{display:flex;flex-direction:column;margin-bottom:.25rem}.message.sent{align-items:flex-end}.message.received{align-items:flex-start}.message-bubble{max-width:70%;padding:.5rem .75rem;border-radius:1rem;background-color:#007bff;color:#fff;margin-bottom:.1rem}.message.received .message-bubble{background-color:#e9ecef;color:#212529}.message-time{font-size:.75rem;color:#6c757d;margin-top:.1rem}.friend-add{margin-bottom:20px}.friend-add input{width:70%;padding:8px;margin-right:10px;border:1px solid #ccc;border-radius:5px}.btn{padding:8px 16px;border:none;border-radius:5px;cursor:pointer;color:#fff;transition:background-color .2s}.btn-primary{background-color:#5865f2}.btn-success{background-color:#4caf50}.btn-danger{background-color:#f44336}.btn:hover{opacity:.9}.friend-requests{margin-bottom:20px}.request-item{margin-bottom:10px;padding:10px;border:1px solid #ccc;border-radius:5px;display:flex;align-items:center;justify-content:space-between}.request-buttons{display:flex;gap:5px}.request-buttons button{padding:4px 8px;border-radius:3px}.notification{position:fixed;bottom:20px;right:20px;padding:12px 24px;border-radius:16px;color:#fff;box-shadow:0 2px 5px #0003;animation:slideIn .3s ease-out;font-size:14px;font-weight:500;letter-spacing:-.2px}.notification.error{background-color:#f44}.notification.success{background-color:#4caf50}.auth-container{max-width:400px;margin:auto;padding:2.5rem;background-color:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014}.auth-title{margin-bottom:1.5rem;color:#1d1d1f;text-align:center;font-size:24px;font-weight:600;letter-spacing:-.5px}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .2s}.auth-input:focus{border-color:#5865f2;outline:none}.auth-submit-btn{background-color:#007aff;color:#fff;padding:12px;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .2s}.auth-submit-btn:hover{background-color:#0062cc}.auth-switch-btn{background:none;border:none;color:#007aff;margin-top:1rem;cursor:pointer;font-size:15px;font-weight:500;text-decoration:underline;transition:color .2s}.auth-switch-btn:hover{color:#0062cc}.auth-error{color:#f44;margin-top:.5rem;text-align:center;font-size:.9rem}.message-input input,.auth-input,.friend-add input{font-family:var(--system-font);font-size:15px;padding:10px 16px;border:1px solid #D1D1D6;border-radius:20px;background-color:#fff;transition:all .2s ease}.message-input input:focus,.auth-input:focus,.friend-add input:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 2px #007aff1a}.btn{font-family:var(--system-font);font-size:15px;font-weight:600;padding:10px 20px;border-radius:20px;transition:all .2s ease;letter-spacing:-.2px}.btn-primary{background-color:#007aff}.btn-primary:hover{background-color:#0062cc}.request-item{padding:12px 16px;border:1px solid #D1D1D6;border-radius:12px;font-size:15px;letter-spacing:-.2px}.request-buttons button{font-size:13px;font-weight:600;padding:6px 12px;border-radius:14px}.app-container{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#fff;border-bottom:1px solid #e1e1e1;box-shadow:0 2px 4px #0000001a}.app-main{flex:1;display:flex;overflow:hidden}.app-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.scrollable-content{flex:1;overflow-y:auto;padding:1rem}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.friend-info{display:flex;flex-direction:column;gap:2px}.friend-name{font-weight:500;color:#333}.friend-email{font-size:.8rem;color:#666}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#f1f1f1}.messages-container::-webkit-scrollbar-thumb{background:#000;border:2px solid #f1f1f1}.messages-container::-webkit-scrollbar-thumb:hover{background:#000;border:1px solid #f1f1f1}.messages-container::-webkit-scrollbar-button{display:none}.messages-container{scrollbar-width:thin;scrollbar-color:#000 #f1f1f1}.context-menu{position:fixed;background:#fff;box-shadow:0 2px 5px #0003;border-radius:4px;padding:8px 12px;cursor:pointer;z-index:1000}.context-menu-item{color:#f44;font-size:14px;white-space:nowrap}.context-menu-item:hover{opacity:.8}.logout-button{background-color:#ff4757;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.logout-button:hover{background-color:#ff6b81}.logout-button:active{background-color:#ee4040}
