.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:#111}.login-card{width:400px;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:16px;padding:40px}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.login-logo-mark{width:36px;height:36px;background:#5b52d6;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff}.login-logo-text{font-size:18px;font-weight:700;color:#fff}.login-title{font-size:22px;font-weight:600;color:#fff;margin-bottom:6px}.login-sub{font-size:14px;color:#666;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500;color:#aaa}.field input{background:#13131f;border:1px solid #2a2a3e;border-radius:8px;padding:10px 14px;font-size:14px;color:#e0e0e0;outline:none;transition:border-color .15s}.field input::placeholder{color:#444}.field input:focus{border-color:#5b52d6}.login-error{background:#dc50501f;border:1px solid rgba(220,80,80,.3);border-radius:8px;padding:10px 14px;font-size:13px;color:#f08080}.login-btn{background:#5b52d6;color:#fff;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center;height:46px;margin-top:4px}.login-btn:hover:not(:disabled){background:#4a42c4}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.login-divider{display:flex;align-items:center;gap:10px;color:#666;font-size:12px;margin:14px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#2a2a3c}.login-ms-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:12px 14px;background:#2f2f2f;border:1px solid #444;border-radius:9px;color:#fff;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.login-ms-btn:hover:not(:disabled){background:#3a3a3a}.login-ms-btn:disabled{opacity:.6;cursor:default}.lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#080810f5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center}.lock-card{background:#111120;border:1px solid #1e1e30;border-radius:20px;padding:40px 48px 32px;display:flex;flex-direction:column;align-items:center;gap:14px;width:320px;box-shadow:0 8px 40px #00000080}.lock-card.shake{animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.lock-icon{font-size:36px}.lock-title{font-size:18px;font-weight:700;color:#e0e0e0;margin:0}.lock-sub{font-size:13px;color:#666;margin:0;text-align:center}.pin-dots{display:flex;gap:12px;margin:4px 0}.pin-dot{width:13px;height:13px;border-radius:50%;border:2px solid #2a2a3e;transition:all .15s}.pin-dot.filled{background:#a89ef5;border-color:#a89ef5;transform:scale(1.15)}.pin-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.lock-error{font-size:12px;color:#f87171;margin:0;min-height:16px}.pin-pad{display:grid;grid-template-columns:repeat(3,68px);gap:10px;margin-top:4px}.pin-key{height:54px;border-radius:12px;background:#1a1a2e;border:1px solid #2a2a3e;color:#ccc;font-size:20px;font-weight:500;cursor:pointer;transition:all .1s;font-family:inherit;display:flex;align-items:center;justify-content:center}.pin-key:hover:not(:disabled){background:#25253e;border-color:#a89ef5;color:#fff}.pin-key:active:not(:disabled){transform:scale(.93)}.pin-key--empty{background:transparent!important;border-color:transparent!important;cursor:default}.lock-logout-btn{margin-top:4px;background:none;border:none;color:#555;font-size:13px;cursor:pointer;padding:4px 8px;font-family:inherit}.lock-logout-btn:hover{color:#f87171}.online-toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:8000;pointer-events:none}.online-toast{display:flex;align-items:center;gap:10px;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:12px;padding:10px 14px;box-shadow:0 4px 20px #0006;animation:toast-in .3s ease,toast-out .3s ease 2.7s forwards;min-width:220px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.online-toast-avatar{position:relative;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#2a2a3e;display:flex;align-items:center;justify-content:center;font-size:14px;color:#ccc;overflow:hidden}.online-toast-avatar img{width:100%;height:100%;object-fit:cover}.online-toast-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:#4ade80;border:2px solid #1a1a2e}.online-toast-text{display:flex;flex-direction:column}.online-toast-text strong{font-size:13px;color:#e0e0e0}.online-toast-text span{font-size:11px;color:#666}.mention-toast{flex-direction:column;align-items:flex-start;gap:4px;min-width:240px}.mention-toast .online-toast-avatar{flex-shrink:0}.mention-toast .online-toast-text{display:flex;flex-direction:column;gap:1px}.mention-toast-badge{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#a89ef5;border:2px solid #1a1a2e;font-size:8px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center}.mention-toast:hover{background:#202035;border-color:#a89ef5}.link-preview{display:flex;flex-direction:column;margin-top:6px;border:1px solid #2a2a3e;border-left:3px solid #5b52d6;border-radius:6px;overflow:hidden;text-decoration:none;max-width:360px;background:#16162a;transition:border-color .15s;cursor:pointer}.link-preview:hover{border-color:#a89ef5;border-left-color:#a89ef5}.link-preview-image{width:100%;max-height:180px;object-fit:cover}.link-preview-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px}.link-preview-site{font-size:10px;color:#5b52d6;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.link-preview-title{font-size:13px;color:#e0e0e0;font-weight:600;line-height:1.4}.link-preview-desc{font-size:12px;color:#777;line-height:1.4}.link-preview-url{font-size:11px;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.messages{flex:1;overflow-y:auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:0}.messages--loading,.messages--empty{align-items:center;justify-content:center;color:#555;font-size:14px}.message{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:20px 8px 3px;border-radius:6px;transition:background .1s;position:relative;overflow:visible;z-index:1}.message:hover{background:#ffffff08}.message--compact{padding-top:1px}.message--hovered{z-index:50}.message--mine{flex-direction:row-reverse}.message-avatar{width:34px;height:34px;border-radius:8px;background:#3a3a5c;color:#a89ef5;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0;overflow:hidden;margin-top:2px}.message-avatar-gap{width:34px;flex-shrink:0}.message-avatar-img{width:100%;height:100%;object-fit:cover}.message-content{display:flex;flex-direction:column;max-width:65%;min-width:0}.message--mine .message-content{align-items:flex-end}.message-meta{display:flex;align-items:baseline;gap:6px;margin-bottom:3px}.message-meta--mine{justify-content:flex-end;margin-bottom:3px}.message-user{font-size:13px;font-weight:600;color:#e0e0e0}.message-time{font-size:11px;color:#444}.message-text{font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;padding:8px 12px;border-radius:4px 16px 16px;background:#2a2a3e;color:#ddd;display:inline-block}.message--mine .message-text{background:#5b52d6;color:#fff;border-radius:16px 4px 16px 16px}.message-system{background:#5b52d614;border:1px solid rgba(91,82,214,.2);border-radius:8px;padding:10px 14px;font-size:13px;color:#c0bce8;white-space:pre-wrap;line-height:1.6;margin:6px 0}.msg-link-btn{background:#5b52d633;border:1px solid rgba(91,82,214,.4);border-radius:6px;color:#a89ef5;font-size:13px;font-family:inherit;padding:3px 10px;cursor:pointer;transition:background .15s;display:inline-block;margin-top:6px}.msg-link-btn:hover{background:#5b52d659;color:#c0b8f8}.file-message{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#2a2a3e;border:1px solid #3a3a5c;border-radius:8px;padding:10px 14px;cursor:pointer;max-width:280px;transition:background .15s}.file-message:hover{background:#333350}.file-image-preview{max-width:220px;max-height:160px;border-radius:6px;display:block;cursor:pointer}.file-icon{font-size:26px;flex-shrink:0}.file-info{display:flex;flex-direction:column;gap:3px;overflow:hidden}.file-name{font-size:13px;font-weight:500;color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:#666}.img-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000}.img-preview-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:90vw}.img-preview-full{max-width:85vw;max-height:80vh;border-radius:8px;object-fit:contain}.img-preview-actions{display:flex;gap:10px}.img-download-btn,.img-close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:background .15s}.img-download-btn:hover,.img-close-btn:hover{background:#fff3}.msg-spinner{width:24px;height:24px;border:2px solid #333;border-top-color:#5b52d6;border-radius:50%;animation:spin .7s linear infinite}.message-bubble-wrap{position:relative;display:inline-block;max-width:100%}.message--mine .message-bubble-wrap{align-self:flex-end}.message-bubble-wrap:before{content:"";position:absolute;top:-40px;left:0;right:0;height:40px;pointer-events:auto}.message-action-bar{position:absolute;top:-36px;right:4px;display:flex;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;box-shadow:0 2px 10px #0006;z-index:100}.message-action-bar--mine{right:4px;left:auto;transform:none}.action-bar-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;background:none;border:none;border-right:1px solid #2a2a3e;color:#888;cursor:pointer;transition:background .1s,color .1s;border-radius:0}.action-bar-btn:first-child{border-radius:8px 0 0 8px}.action-bar-btn:last-child{border-right:none;border-radius:0 8px 8px 0}.action-bar-btn:only-child{border-radius:8px;border-right:none}.action-bar-btn:hover{background:#2a2a3e;color:#ccc}.action-bar-btn--delete:hover{background:#dc3c3c26;color:#e05c5c}.action-bar-btn+.action-bar-btn{border-left:none}.message-edit-box{display:flex;flex-direction:column;gap:6px;width:100%;max-width:420px}.message-edit-input{background:#1a1a2e;border:1.5px solid #5b52d6;border-radius:10px;padding:8px 12px;font-size:14px;color:#e0e0e0;outline:none;resize:none;min-height:40px;font-family:inherit;line-height:1.5}.message-edit-actions{display:flex;align-items:center;gap:6px}.edit-hint{font-size:11px;color:#444;flex:1}.edit-save-btn{font-size:12px;padding:4px 12px;border-radius:6px;cursor:pointer;border:none;background:#5b52d6;color:#fff}.edit-save-btn:hover{background:#4a42c4}.edit-cancel-btn{font-size:12px;padding:4px 12px;border-radius:6px;cursor:pointer;border:none;background:transparent;color:#666}.edit-cancel-btn:hover{color:#aaa}.message-deleted{font-size:13px;color:#444;font-style:italic;padding:4px 0}.message-edited{font-size:11px;color:#555;margin-left:5px}.reply-quote{display:flex;flex-direction:column;gap:2px;background:#ffffff0d;border-left:3px solid #5b52d6;border-radius:0 6px 6px 0;padding:5px 10px;margin-bottom:4px;max-width:420px;cursor:default}.reply-quote--mine{border-left-color:#fff6;background:#ffffff14}.reply-quote-sender{font-size:11px;font-weight:600;color:#a89ef5}.reply-quote--mine .reply-quote-sender{color:#ffffffb3}.reply-quote-text{font-size:12px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-quote--mine .reply-quote-text{color:#ffffff80}.reply-preview{display:flex;align-items:center;gap:8px;background:#1a1a2e;border-left:3px solid #5b52d6;border-radius:0 6px 6px 0;padding:6px 12px;margin:0 0 6px}.reply-preview-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.reply-preview-sender{font-size:11px;font-weight:600;color:#a89ef5}.reply-preview-text{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview-cancel{background:none;border:none;color:#555;cursor:pointer;font-size:14px;padding:2px 4px;flex-shrink:0;transition:color .15s}.reply-preview-cancel:hover{color:#aaa}.emoji-picker-wrap{position:relative}.emoji-picker-wrap .action-bar-btn{border-radius:8px 0 0 8px}.emoji-picker{position:absolute;top:34px;right:0;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:10px;padding:6px;display:flex;gap:2px;box-shadow:0 4px 16px #00000080;z-index:30}.emoji-picker--left{right:auto;left:0}.emoji-option{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;border-radius:6px;line-height:1;transition:background .1s,transform .1s}.emoji-option:hover{background:#2a2a3e;transform:scale(1.2)}.reaction-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-chip{display:flex;align-items:center;gap:4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2px 8px;cursor:pointer;font-size:13px;transition:background .1s,border-color .1s}.reaction-chip:hover{background:#ffffff1f}.reaction-chip--mine{background:#5b52d633;border-color:#5b52d680}.reaction-chip--mine:hover{background:#5b52d64d}.reaction-emoji{font-size:15px;line-height:1}.reaction-count{font-size:12px;color:#aaa;font-weight:500}.reaction-chip--mine .reaction-count{color:#a89ef5}.reaction-chip-wrap{position:relative;display:inline-flex}.reaction-tooltip{background:#13131f;border:1px solid #2a2a3e;border-radius:8px;padding:7px 10px;font-size:12px;color:#ccc;box-shadow:0 4px 16px #0009;z-index:9999;pointer-events:auto;display:flex;gap:7px;align-items:flex-start;max-width:180px;width:max-content}.reaction-tooltip-emoji{font-size:16px;line-height:1.4;flex-shrink:0}.reaction-tooltip-names{color:#aaa;word-break:keep-all;overflow-wrap:break-word;line-height:1.5;white-space:normal}.reaction-tooltip:before{content:"";position:absolute;bottom:100%;left:12px;border:5px solid transparent;border-bottom-color:#2a2a3e}.mention-tag{color:#a89ef5;font-weight:600;cursor:default}.mention-tag--me{background:#a89ef526;color:#c4bbff;border-radius:3px;padding:0 2px}.read-receipt{font-size:10px;color:#a89ef5;margin-left:4px;font-weight:500;flex-shrink:0}.unread-divider{display:flex;align-items:center;gap:10px;margin:10px 16px}.unread-divider:before,.unread-divider:after{content:"";flex:1;height:1px;background:#eb646466}.unread-divider span{font-size:11px;color:#eb6464;white-space:nowrap;font-weight:500}.new-msg-btn{position:sticky;bottom:12px;left:50%;transform:translate(-50%);display:block;margin:0 auto;background:#5b52d6;color:#fff;border:none;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:600;cursor:pointer;z-index:10;box-shadow:0 2px 12px #5b52d680;font-family:inherit;transition:background .15s,transform .15s;white-space:nowrap}.new-msg-btn:hover{background:#4a42c4;transform:translate(-50%) translateY(-1px)}.mention-tag--all{background:#f0b42926;color:#f0b429;border-radius:3px;padding:0 2px;font-weight:600}.message--highlighted .message-text,.message--highlighted .message-bubble-wrap>div{animation:highlight-fade 3s ease-out forwards}@keyframes highlight-fade{0%{background:#f0b42940;border-radius:6px}70%{background:#f0b42926}to{background:transparent}}.search-result-item{cursor:pointer}.search-result-item:hover{background:#ffffff0a}.search-jump-hint{font-size:10px;color:#5b52d6;margin-left:auto;opacity:0;transition:opacity .15s}.img-preview-close-top{position:absolute;top:-40px;right:0;background:#ffffff26;border:none;color:#fff;font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.img-preview-close-top:hover{background:#ffffff4d}.file-message--expired{opacity:.6;cursor:default!important;pointer-events:none}.file-expired-label{color:#f87171!important;font-size:11px}.input-area{padding:0 20px 16px;flex-shrink:0;position:relative}.input-box{display:flex;align-items:flex-end;gap:8px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:10px;padding:8px 8px 8px 14px;transition:border-color .15s}.input-box:focus-within{border-color:#5b52d6}.input-box.disconnected{opacity:.5}.message-textarea{flex:1;background:none;border:none;outline:none;color:#e0e0e0;font-size:14px;font-family:inherit;resize:none;line-height:1.5;max-height:120px;overflow-y:auto}.message-textarea::placeholder{color:#555}.send-btn{width:30px;height:30px;border-radius:8px;background:#5b52d6;color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.send-btn:hover:not(:disabled){background:#4a42c4}.send-btn:disabled{opacity:.4;cursor:not-allowed}.input-notice{font-size:11px;color:#666;margin-top:6px;text-align:center}.attach-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:0 6px;opacity:.6;transition:opacity .15s;flex-shrink:0;line-height:1}.attach-btn:hover:not(:disabled){opacity:1}.attach-btn:disabled{opacity:.3;cursor:not-allowed}.upload-progress{font-size:12px;color:#a89ef5;padding:4px 14px 6px;display:flex;align-items:center;gap:6px}.upload-progress:before{content:"";width:10px;height:10px;border:1.5px solid #5b52d6;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.input-readonly{padding:14px 16px;text-align:center;font-size:13px;color:#555;background:#13131f;border-top:1px solid #1e1e2e}.file-preview{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#1e1e2e;border-top:1px solid #2a2a3e;border-left:3px solid #5b52d6;position:relative}.file-preview-image{max-height:80px;max-width:120px;border-radius:6px;object-fit:cover}.file-preview-info{display:flex;align-items:center;gap:8px}.file-preview-icon{font-size:24px}.file-preview-name{font-size:13px;color:#ccc;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size{font-size:11px;color:#666}.file-preview-cancel{position:absolute;top:6px;right:8px;background:none;border:none;color:#555;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px}.file-preview-cancel:hover{background:#ffffff14;color:#ccc}.mention-popup{position:absolute;bottom:calc(100% + 4px);left:12px;background:#1e1e30;border:1px solid #2a2a3e;border-radius:8px;padding:4px 0;min-width:180px;max-width:280px;z-index:999;box-shadow:0 -4px 16px #0006}.mention-item{display:flex;align-items:center;gap:6px;padding:7px 14px;cursor:pointer;font-size:13px;color:#ccc;transition:background .1s}.mention-item:hover,.mention-item--active{background:#2a2a40;color:#fff}.mention-at{color:#a89ef5;font-weight:600}.mention-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-area--dragging .input-box{border-color:#5b52d6}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#5b52d61f;border:2px dashed #5b52d6;border-radius:10px;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.drop-overlay-text{font-size:14px;color:#a89ef5;font-weight:500}.typing-indicator{display:flex;align-items:center;gap:6px;padding:4px 16px 6px;min-height:22px;font-size:12px;color:#888}.typing-dots{display:flex;gap:3px;align-items:center}.typing-dots span{width:5px;height:5px;border-radius:50%;background:#666;animation:typing-bounce 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#1e1e2e;border:1px solid #2a2a3e;border-radius:14px;width:480px;max-width:90vw;animation:slideUp .15s ease}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-title{font-size:18px;font-weight:600;color:#fff}.modal-close{background:none;border:none;color:#666;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .1s,color .1s}.modal-close:hover{background:#2a2a3e;color:#aaa}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:18px}.type-tabs{display:flex;gap:10px}.type-tab{flex:1;display:flex;align-items:center;gap:10px;background:#13131f;border:1.5px solid #2a2a3e;border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;color:inherit}.type-tab:hover{border-color:#3a3a5c;background:#1a1a2e}.type-tab.active{border-color:#5b52d6;background:#5b52d61a}.type-icon{font-size:18px;color:#888;flex-shrink:0}.type-tab.active .type-icon{color:#a89ef5}.type-label{font-size:13px;font-weight:600;color:#e0e0e0}.type-desc{font-size:11px;color:#666;margin-top:2px}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-field label{font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.05em}.optional{font-weight:400;color:#555;text-transform:none;letter-spacing:0}.input-with-prefix{display:flex;align-items:center;background:#13131f;border:1px solid #2a2a3e;border-radius:8px;overflow:hidden;transition:border-color .15s}.input-with-prefix:focus-within{border-color:#5b52d6}.input-prefix{padding:0 10px;color:#555;font-size:18px;flex-shrink:0;border-right:1px solid #2a2a3e;height:40px;display:flex;align-items:center}.input-with-prefix input,.modal-field input{background:#13131f;border:1px solid #2a2a3e;border-radius:8px;padding:10px 12px;font-size:14px;color:#e0e0e0;outline:none;width:100%;transition:border-color .15s}.input-with-prefix input{border:none;flex:1}.input-with-prefix input:focus{outline:none}.modal-field input:focus{border-color:#5b52d6}.modal-field input::placeholder,.input-with-prefix input::placeholder{color:#444}.field-hint{font-size:11px;color:#555}.modal-error{background:#dc50501a;border:1px solid rgba(220,80,80,.3);border-radius:8px;padding:10px 12px;font-size:13px;color:#f08080}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #2a2a3e}.btn-cancel{background:none;border:1px solid #2a2a3e;border-radius:8px;padding:8px 16px;font-size:14px;color:#aaa;cursor:pointer;transition:background .1s,color .1s}.btn-cancel:hover{background:#2a2a3e;color:#ddd}.btn-create{background:#5b52d6;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:100px;height:36px;transition:background .15s,opacity .15s}.btn-create:hover:not(:disabled){background:#4a42c4}.btn-create:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:3000}.confirm-box{background:#1e1e2e;border:1px solid #2a2a3e;border-radius:12px;padding:24px;width:340px;box-shadow:0 8px 32px #00000080}.confirm-title{font-size:16px;font-weight:600;color:#fff;margin-bottom:10px}.confirm-message{font-size:13px;color:#aaa;line-height:1.6;margin-bottom:20px;white-space:pre-line}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-btn{padding:8px 18px;border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:background .15s}.confirm-btn--cancel{background:#2a2a3e;color:#aaa}.confirm-btn--cancel:hover{background:#333350}.confirm-btn--ok{background:#5b52d6;color:#fff}.confirm-btn--ok:hover{background:#4a42c4}.confirm-btn--danger{background:#c0392b;color:#fff}.confirm-btn--danger:hover{background:#a93226}.team-panel{width:220px;flex-shrink:0;border-left:1px solid #1e1e2e;background:#13131f;display:flex;flex-direction:column;overflow:hidden}.team-panel-header{padding:16px 14px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1e1e2e;font-size:13px;font-weight:600;color:#e0e0e0;flex-shrink:0}.team-online-count{font-size:11px;font-weight:400;color:#3da65d}.team-panel-body{overflow-y:auto;flex:1;padding:8px 0}.team-loading{display:flex;justify-content:center;padding:20px}.team-section{margin-bottom:8px}.team-section-title{font-size:11px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.05em;padding:6px 14px 4px}.team-member{display:flex;align-items:center;gap:8px;padding:5px 12px;border-radius:6px;margin:0 4px;cursor:default;transition:background .1s}.team-member:hover{background:#1e1e2e}.team-avatar{position:relative;width:30px;height:30px;border-radius:8px;background:#3a3a5c;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#a89ef5;flex-shrink:0;overflow:visible}.team-avatar img{width:100%;height:100%;object-fit:cover;border-radius:8px}.team-status-dot{position:absolute;bottom:-2px;right:-2px;width:9px;height:9px;border-radius:50%;border:2px solid #13131f}.team-status-dot.online{background:#3da65d}.team-status-dot.offline{background:#555}.team-member-info{display:flex;flex-direction:column;min-width:0}.team-member-name{font-size:13px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-member-job{font-size:11px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-empty{font-size:13px;color:#555;text-align:center;padding:20px}.team-panel-tabs{display:flex;border-bottom:1px solid #1e1e2e;flex-shrink:0}.team-panel-tab{flex:1;padding:8px;background:none;border:none;font-size:12px;color:#555;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.team-panel-tab:hover{color:#aaa}.team-panel-tab.active{color:#a89ef5;border-bottom-color:#5b52d6}.team-invite-search{padding:10px 12px 6px;flex-shrink:0}.team-invite-search input{width:100%;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:6px;padding:6px 10px;font-size:12px;color:#e0e0e0;outline:none;box-sizing:border-box}.team-invite-search input:focus{border-color:#5b52d6}.team-invite-search input::placeholder{color:#444}.team-invite-list{flex:1;overflow-y:auto}.team-invite-member{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;transition:background .1s;border-radius:6px;margin:0 4px}.team-invite-member:hover{background:#1e1e2e}.team-invite-member.selected{background:#5b52d61a}.team-invite-check{margin-left:auto;width:18px;height:18px;border:1.5px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;flex-shrink:0;transition:all .15s}.team-invite-check.checked{background:#5b52d6;border-color:#5b52d6}.team-invite-footer{padding:10px 12px;border-top:1px solid #1e1e2e;flex-shrink:0}.team-invite-btn{width:100%;padding:8px;background:#5b52d6;color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:background .15s}.team-invite-btn:hover:not(:disabled){background:#4a42c4}.team-invite-btn:disabled{opacity:.6;cursor:not-allowed}.media-type-btn{flex:1;background:none;border:1px solid #2a2a3e;border-radius:6px;color:#666;font-size:11px;padding:4px 6px;cursor:pointer;transition:all .15s}.media-list{flex:1;overflow-y:auto;padding:6px}.media-item{margin-bottom:8px}.media-thumb{width:100%;max-height:120px;object-fit:cover;border-radius:8px;cursor:pointer;transition:opacity .15s}.media-thumb:hover{opacity:.85}.media-link{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#1e1e2e;border-radius:8px;text-decoration:none;border:1px solid #2a2a3e;transition:background .15s}.media-link-url{font-size:11px;color:#5b87d6;word-break:break-all}.media-link-sender{font-size:10px;color:#555}.media-file-icon{font-size:20px;flex-shrink:0}.search-bar{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid #1e1e2e;flex-shrink:0}.search-input{flex:1;background:#0f0f1a;border:1px solid #2a2a3e;border-radius:8px;padding:6px 10px;color:#ccc;font-size:12px;outline:none}.search-input:focus{border-color:#5b52d6}.search-btn{background:#5b52d6;border:none;border-radius:8px;padding:6px 10px;color:#fff;cursor:pointer;font-size:14px;transition:background .15s}.search-btn:hover{background:#4a42c0}.search-btn:disabled{opacity:.5}.search-results{flex:1;overflow-y:auto;padding:6px}.search-result-meta{display:flex;justify-content:space-between;margin-bottom:4px}.search-result-content{font-size:12px;color:#aaa;line-height:1.5}.team-list{border-top:1px solid #1e1e2e;flex-shrink:0}.team-list-header{display:flex;align-items:center;padding:8px 14px;font-size:12px;font-weight:600;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .1s;gap:4px}.team-list-header:hover{color:#aaa}.team-list-count{font-size:11px;color:#3da65d;margin-left:4px;flex:1}.team-list-chevron{font-size:16px;color:#444}.team-list-body{max-height:200px;overflow-y:auto;padding:2px 0 8px}.team-list-member{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:6px;margin:0 4px;transition:background .1s;cursor:default}.team-list-member:hover{background:#1e1e2e}.team-list-avatar{position:relative;width:26px;height:26px;border-radius:6px;background:#3a3a5c;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#a89ef5;flex-shrink:0;overflow:visible}.team-list-avatar img{width:100%;height:100%;object-fit:cover;border-radius:6px}.team-list-dot{position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:2px solid #13131f}.team-list-dot.online{background:#3da65d}.team-list-dot.away{background:#f59e0b}.team-list-dot.offline{background:#444}.team-list-info{display:flex;flex-direction:column;min-width:0}.team-list-name{font-size:12px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-list-job{font-size:10px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-list-embedded{display:flex;flex-direction:column;height:100%}.team-list-stat{font-size:11px;color:#3da65d;padding:8px 14px 6px;border-bottom:1px solid #1e1e2e}.team-list-body-full{flex:1;overflow-y:auto;padding:6px 0}.team-list-hint{float:right;font-size:10px;color:#444}.team-list-member{cursor:pointer}.team-list-member.selected{background:#5b52d626}.team-list-member.selected:hover{background:#5b52d640}.team-list-selected{float:right;font-size:11px;color:#a89ef5;font-weight:600}.team-list-check{margin-left:auto;font-size:11px;color:#a89ef5;flex-shrink:0}.team-list-action-bar{display:flex;gap:6px;padding:8px 10px;border-top:1px solid #1e1e2e;flex-shrink:0}.team-action-btn{flex:1;padding:7px;border:none;border-radius:7px;font-size:12px;cursor:pointer;transition:background .15s}.team-action-btn--cancel{background:#2a2a3e;color:#888}.team-action-btn--cancel:hover{background:#333350}.team-action-btn--confirm{background:#5b52d6;color:#fff}.team-action-btn--confirm:hover{background:#4a42c4}.team-list-create-bar{padding:8px 10px;border-top:1px solid #1e1e2e;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.team-channel-input{background:#1a1a2e;border:1.5px solid #5b52d6;border-radius:7px;padding:7px 10px;font-size:13px;color:#e0e0e0;outline:none;font-family:inherit}.team-channel-input::placeholder{color:#444}.team-create-btns{display:flex;gap:6px}.team-list-section-header{display:flex;align-items:center;gap:6px;padding:10px 12px 4px;font-size:11px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.team-section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.team-section-dot.online{background:#3da65d}.team-section-dot.offline{background:#555}.team-list-search-wrap{display:flex;align-items:center;gap:6px;margin:6px 10px 2px;background:#0f0f1a;border:1px solid #2a2a3e;border-radius:8px;padding:5px 8px}.team-search-icon{color:#555;flex-shrink:0}.team-list-search{flex:1;background:none;border:none;outline:none;color:#ccc;font-size:12px}.team-list-search::placeholder{color:#444}.team-search-clear{background:none;border:none;color:#555;cursor:pointer;font-size:11px;padding:0 2px;line-height:1;flex-shrink:0}.team-search-clear:hover{color:#aaa}.team-list-empty{font-size:12px;color:#444;text-align:center;padding:20px 12px}.team-context-menu{position:fixed;background:#1e1e30;border:1px solid #2a2a3e;border-radius:8px;padding:4px 0;min-width:190px;z-index:9999;box-shadow:0 8px 24px #0000008c}.team-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;color:#ccc;font-size:13px;cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.team-ctx-item:hover{background:#2a2a40;color:#fff}.team-ctx-item--danger{color:#666}.team-ctx-item--danger:hover{background:#2a1a1a;color:#ff6b6b}.team-ctx-icon{font-size:12px;width:16px;text-align:center;flex-shrink:0}.team-ctx-divider{height:1px;background:#2a2a3e;margin:4px 0}.team-create-label{font-size:11px;color:#a89ef5;padding:0 2px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-type-tabs{display:flex;gap:4px;margin-bottom:6px}.team-type-tab{flex:1;padding:5px 8px;border:1.5px solid #2a2a3e;border-radius:6px;background:transparent;color:#666;font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s}.team-type-tab:hover{border-color:#5b52d6;color:#aaa}.team-type-tab.active{border-color:#5b52d6;background:#5b52d626;color:#a89ef5}.team-input-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.team-input-row .team-channel-input{flex:1;margin-bottom:0}.team-input-submit{width:30px;height:30px;border:none;border-radius:7px;background:#5b52d6;color:#fff;font-size:18px;line-height:1;cursor:pointer;flex-shrink:0;transition:background .15s;display:flex;align-items:center;justify-content:center}.team-input-submit:hover{background:#4a42c4}.team-group{margin-bottom:4px}.team-group-header{display:flex;align-items:center;gap:6px;padding:5px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;transition:background .1s}.team-group-header:hover{background:#ffffff0a}.team-group-chevron{font-size:11px;color:#555;width:10px}.team-group-name{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;flex:1}.team-group-count{font-size:11px;color:#555}.team-list-tags{display:inline-flex;gap:4px;margin-left:4px}.team-list-tag{background:#5a52d233;color:#a89ef5;border-radius:3px;padding:0 5px;font-size:10px;line-height:16px}.media-panel{display:flex;flex-direction:column;width:260px;flex-shrink:0;background:#16162a;border-left:1px solid #1e1e2e;height:100%;overflow:hidden}.media-panel-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:16px 14px 10px;border-bottom:1px solid #1e1e2e;flex-shrink:0}.media-panel-title{font-size:14px;font-weight:600;color:#e0e0e0}.media-type-tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid #1e1e2e;flex-shrink:0}.media-type-btn{flex:1;background:none;border:1px solid #2a2a3e;border-radius:6px;color:#666;font-size:11px;padding:5px 4px;cursor:pointer;transition:all .15s}.media-type-btn:hover{background:#1e1e2e;color:#aaa}.media-type-btn.active{background:#5b52d626;border-color:#5b52d6;color:#a89ef5}.media-list{flex:1;overflow-y:auto;padding:8px}.media-loading,.media-empty{display:flex;align-items:center;justify-content:center;padding:30px 12px;font-size:12px;color:#444}.media-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.media-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;cursor:pointer;transition:opacity .15s}.media-thumb:hover{opacity:.8}.media-item{margin-bottom:6px}.media-link{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:#1e1e2e;border-radius:8px;text-decoration:none;border:1px solid #2a2a3e;transition:background .15s;color:inherit}.media-link:hover{background:#2a2a3e}.media-link svg{color:#5b87d6;flex-shrink:0;margin-top:2px}.media-link-info{display:flex;flex-direction:column;gap:2px;min-width:0}.media-link-url{font-size:11px;color:#5b87d6;word-break:break-all;line-height:1.4}.media-link-meta{font-size:10px;color:#555}.media-file{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1e1e2e;border-radius:8px;cursor:pointer;border:1px solid #2a2a3e;transition:background .15s}.media-file:hover{background:#2a2a3e}.media-file-icon{font-size:22px;flex-shrink:0}.media-file-info{display:flex;flex-direction:column;gap:2px;min-width:0}.media-file-name{font-size:12px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-file-meta{font-size:10px;color:#555}.search-panel{display:flex;flex-direction:column;width:260px;flex-shrink:0;background:#16162a;border-left:1px solid #1e1e2e;height:100%;overflow:hidden}.search-panel-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:16px 14px 10px;border-bottom:1px solid #1e1e2e;flex-shrink:0}.search-panel-title{font-size:14px;font-weight:600;color:#e0e0e0}.search-panel-bar{display:flex;gap:6px;padding:10px;border-bottom:1px solid #1e1e2e;flex-shrink:0}.search-panel-input{flex:1;background:#0f0f1a;border:1px solid #2a2a3e;border-radius:8px;padding:7px 10px;color:#ccc;font-size:12px;outline:none;transition:border-color .15s}.search-panel-input:focus{border-color:#5b52d6}.search-panel-input::placeholder{color:#444}.search-panel-btn{background:#5b52d6;border:none;border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .15s;flex-shrink:0}.search-panel-btn:hover{background:#4a42c0}.search-panel-btn:disabled{opacity:.5;cursor:default}.search-panel-results{flex:1;overflow-y:auto;padding:8px}.search-hint{font-size:12px;color:#444;text-align:center;padding:24px 12px}.search-count{font-size:11px;color:#666;padding:4px 4px 8px}.search-result-item{padding:8px 10px;border-radius:8px;margin-bottom:4px;background:#1e1e2e;border:1px solid #2a2a3e;cursor:pointer;transition:background .15s}.search-result-item:hover{background:#2a2a3e}.search-result-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.search-result-sender{font-size:11px;font-weight:600;color:#a89ef5}.search-result-date{font-size:10px;color:#555}.search-result-content{font-size:12px;color:#aaa;line-height:1.5;word-break:break-word}.search-result-content mark{background:#5b52d64d;color:#e0e0e0;border-radius:2px;padding:0 2px}.search-jump-hint{font-size:10px;color:#5b52d6;margin-left:auto;opacity:0;transition:opacity .15s;flex-shrink:0}.search-result-item:hover .search-jump-hint{opacity:1}.app{display:flex;flex-direction:column;height:100vh;background:#1a1a1a}.titlebar{height:28px;background:#111;-webkit-app-region:drag;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.titlebar-controls{display:flex;-webkit-app-region:no-drag;height:100%}.titlebar-btn{width:46px;height:100%;background:none;border:none;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.titlebar-btn:hover{background:#ffffff1a;color:#fff}.titlebar-btn--close:hover{background:#e81123;color:#fff}.layout{display:flex;flex:1;overflow:hidden}.sidebar-workspace{width:56px;background:#111;display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:8px;flex-shrink:0}.workspace-icon{width:36px;height:36px;border-radius:10px;background:#3a3a5c;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:#a89ef5;cursor:pointer;transition:border-radius .15s}.workspace-icon.active{border-radius:14px;background:#5b52d6;color:#fff}.sidebar-channels{width:220px;background:#1e1e2e;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar-header{padding:16px 14px 12px;border-bottom:1px solid #2a2a3e}.workspace-name{font-size:15px;font-weight:600;color:#fff}.sidebar-section{padding:16px 0 8px}.channel-item{display:flex;align-items:center;gap:6px;padding:5px 14px;cursor:pointer;border-radius:4px;margin:0 6px;color:#aaa;font-size:14px;transition:background .1s}.channel-item:hover{background:#2a2a3e;color:#ddd}.channel-item.active{background:#3a3a5c;color:#fff}.channel-hash{color:#666;font-size:16px}.channel-name{flex:1}.unread-badge{background:#5b52d6;color:#fff;font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px}.dm-dot{width:8px;height:8px;border-radius:50%;background:#555;flex-shrink:0}.dm-dot.online{background:#3da65d}.chat-area{flex:1;display:flex;flex-direction:column;background:#1a1a1a;overflow:hidden}.chat-title{font-size:16px;font-weight:600;color:#fff}.input-area{padding:12px 20px 16px;flex-shrink:0}.sidebar-footer{margin-top:auto;padding:12px 10px;border-top:1px solid #2a2a3e;display:flex;align-items:center;gap:8px}.profile-avatar{width:30px;height:30px;border-radius:8px;background:#5b52d6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.profile-info{flex:1;display:flex;flex-direction:column;overflow:hidden}.profile-name{font-size:13px;font-weight:500;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-status{font-size:11px;color:#3da65d}.logout-btn{background:none;border:none;color:#555;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;line-height:1;transition:color .15s}.logout-btn:hover{color:#aaa}.splash{height:100vh;background:#111;display:flex;align-items:center;justify-content:center}.splash-logo{width:56px;height:56px;background:#5b52d6;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.sidebar-header{padding:16px 14px 12px;border-bottom:1px solid #2a2a3e;display:flex;align-items:center;gap:8px}.ws-status{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:auto}.ws-status.online{background:#3da65d}.ws-status.offline{background:#666;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.section-title{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;padding:0 14px 6px;display:flex;align-items:center;justify-content:space-between}.section-add-btn{background:none;border:none;color:#555;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .15s,background .15s;margin-right:4px}.section-add-btn:hover{color:#aaa;background:#2a2a3e}.workspace-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.profile-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:8px}.company-logo{width:22px;height:22px;object-fit:contain;border-radius:4px;flex-shrink:0}.sidebar-header{display:flex;align-items:center;gap:8px}.sidebar-header--clickable{cursor:pointer;border-radius:6px;margin:-2px -6px;padding:2px 6px;transition:background .12s ease}.sidebar-header--clickable:hover{background:#ffffff0f}.header-external-icon{color:#6b6b80;opacity:0;transition:opacity .12s ease;flex-shrink:0}.sidebar-header--clickable:hover .header-external-icon{opacity:1}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;border-bottom:1px solid #1e1e2e;flex-shrink:0}.invite-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;transition:background .1s,color .1s}.invite-btn:hover{background:#2a2a3e;color:#aaa}.chat-header-actions{display:flex;align-items:center;gap:4px}.team-panel-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;transition:background .1s,color .1s}.team-panel-btn:hover{background:#2a2a3e;color:#aaa}.team-panel-btn.active{background:#5b52d633;color:#a89ef5}.sidebar-channels{display:flex;flex-direction:column;overflow:hidden}.sidebar-section{overflow-y:auto;flex:1;min-height:0}.sidebar-workspace{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:12px}.workspace-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;background:#1e1e2e;transition:background .15s,color .15s,border-radius .15s;border:2px solid transparent}.workspace-icon:hover{background:#2a2a3e;color:#aaa;border-radius:10px}.workspace-icon.active{background:#5b52d633;border-color:#5b52d6;color:#a89ef5;border-radius:10px}.sidebar-team{width:0;flex-shrink:0;background:#16162a;border-right:1px solid transparent;display:flex;flex-direction:column;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1),border-color .25s}.sidebar-team--open{width:240px;border-right-color:#1e1e2e}.sidebar-team .sidebar-header,.sidebar-team .team-list-embedded,.sidebar-team .schedule-panel{opacity:0;transition:opacity .15s 0s}.sidebar-team--open .sidebar-header,.sidebar-team--open .team-list-embedded,.sidebar-team--open .schedule-panel{opacity:1;transition:opacity .2s .1s}.fav-btn{background:none;border:none;font-size:12px;color:transparent;cursor:pointer;padding:0 2px;margin-left:auto;flex-shrink:0;line-height:1;transition:color .15s}.channel-item:hover .fav-btn{color:#444}.fav-btn:hover,.fav-btn.active{color:#f0b429!important}.ctx-menu{position:fixed;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;padding:4px;box-shadow:0 4px 16px #00000080;z-index:9999;min-width:150px}.ctx-menu-item{display:block;width:100%;padding:8px 12px;background:none;border:none;border-radius:6px;font-size:13px;color:#ccc;cursor:pointer;text-align:left;transition:background .1s}.ctx-menu-item:hover{background:#2a2a3e;color:#fff}.ctx-menu-item--danger{color:#e05c5c}.ctx-menu-item--danger:hover{background:#dc3c3c26;color:#e05c5c}.ctx-menu-divider{height:1px;background:#2a2a3e;margin:3px 0}.chat-title.editable{cursor:pointer;border-radius:6px;padding:3px 6px;margin:-3px -6px;transition:background .15s}.chat-title.editable:hover{background:#ffffff0f}.channel-name-input{background:#1a1a2e;border:1.5px solid #5b52d6;border-radius:8px;padding:4px 10px;font-size:16px;font-weight:600;color:#fff;outline:none;min-width:160px;max-width:300px;font-family:inherit}.leave-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:8px;color:#666;cursor:pointer;transition:background .1s,color .1s}.leave-btn:hover{background:#dc3c3c1f;color:#e05c5c}.channel-hash{display:flex;align-items:center;flex-shrink:0}.private-icon{display:inline-flex;vertical-align:middle;margin-right:4px;color:#a89ef5;opacity:1;flex-shrink:0}.chat-title{display:flex;align-items:center;gap:4px}.dm-status{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.dm-status.online{background:#3da65d}.dm-status.offline{background:#555}.channel-item--unjoined{opacity:.6}.channel-item--unjoined:hover{opacity:1}.channel-item--unjoined .channel-name{font-style:italic}.channel-join-badge{font-size:10px;background:#5b52d633;color:#a89ef5;border:1px solid rgba(91,82,214,.4);border-radius:4px;padding:1px 5px;margin-left:2px;flex-shrink:0}.channel-muted-icon{font-size:11px;opacity:.5;flex-shrink:0;margin-left:2px}.panel-header-right{display:flex;align-items:center;gap:8px;margin-left:auto}.panel-close-btn{background:none;border:none;color:#555;font-size:14px;cursor:pointer;width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.panel-close-btn:hover{background:#ffffff14;color:#ccc}.channel-subsection{margin-top:4px}.channel-subsection-title{font-size:10px;font-weight:600;color:#444;text-transform:uppercase;letter-spacing:.5px;padding:6px 12px 2px}.channel-subsection-divider{font-size:10px;color:#3a3a5a;padding:6px 12px 2px;margin-top:2px;border-top:1px solid #1e1e2e;display:flex;align-items:center;gap:6px}.channel-subsection-divider:after{content:"";flex:1;height:1px;background:#1e1e2e}.channel-job-position{font-size:10px;color:#555;margin-left:4px;font-weight:400}.update-banner{position:fixed;top:28px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:500;box-shadow:0 4px 12px #0000004d;min-width:220px;flex-direction:column}.update-banner--checking,.update-banner--downloading{background:#2d2d3a;color:#c8c8d4;border:1px solid #3d3d50}.update-banner--latest{background:#1e3a2a;color:#4caf7d;border:1px solid #2e5a3a}.update-banner--error{background:#3a1e1e;color:#e05c5c;border:1px solid #5a2e2e}.update-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.update-progress-bar{width:100%;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.update-progress-fill{height:100%;background:var(--accent-color);border-radius:2px;transition:width .3s ease}.pin-list{overflow-y:auto;flex:1;padding:8px 0}.pin-item{padding:12px 16px;border-bottom:1px solid #1e1e2e}.pin-item:last-child{border-bottom:none}.pin-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.pin-sender{font-size:12px;font-weight:600;color:#a89ef5}.pin-date{font-size:11px;color:#444}.pin-content{font-size:13px;color:#ccc;line-height:1.5;margin-bottom:8px;word-break:break-word;white-space:pre-wrap}.pin-unpin-btn{font-size:11px;background:none;border:1px solid #2a2a3e;border-radius:4px;color:#666;padding:2px 8px;cursor:pointer;font-family:inherit;transition:all .15s}.pin-unpin-btn:hover{border-color:#eb6464;color:#eb6464}.message-pinned-badge{font-size:11px;margin-left:4px;opacity:.6}.action-bar-btn--pinned{color:#f0b429}.app-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#2a1a4e,#1a2a4e);border-bottom:1px solid #3a2a6e;padding:8px 16px;flex-shrink:0;flex-wrap:wrap}.app-banner-text{font-size:13px;color:#ccc;flex:1;min-width:200px}.app-banner-text strong{color:#a89ef5}.app-banner-btns{display:flex;gap:8px}.app-banner-btn{padding:4px 12px;border-radius:6px;background:#5b52d6;color:#fff;font-size:12px;text-decoration:none;font-weight:500;transition:background .15s;white-space:nowrap}.app-banner-btn:hover{background:#4a42c4}.app-banner-close{background:none;border:none;color:#555;cursor:pointer;font-size:14px;padding:2px 6px;font-family:inherit;flex-shrink:0}.app-banner-close:hover{color:#999}.app-download{margin-top:24px;padding-top:20px;border-top:1px solid #1e1e2e;text-align:center}.app-download-label{font-size:12px;color:#555;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px}.app-download-version{background:#2a2a3e;color:#a89ef5;border-radius:4px;padding:1px 6px;font-size:11px}.app-download-btns{display:flex;gap:8px;justify-content:center}.app-dl-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.app-dl-btn--mac{background:#1e1e2e;color:#ccc;border:1px solid #2a2a3e}.app-dl-btn--mac:hover{background:#2a2a3e;color:#fff}.app-dl-btn--win{background:#1e2a3e;color:#ccc;border:1px solid #2a3a4e}.app-dl-btn--win:hover{background:#2a3a4e;color:#fff}.lock-btn{background:none;border:none;color:#555;cursor:pointer;font-size:14px;padding:4px 6px;transition:color .15s}.lock-btn:hover{color:#a89ef5}.profile-away-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:#f59e0b;border:2px solid #111}.lock-menu-wrap{position:relative}.lock-menu{position:absolute;bottom:calc(100% + 8px);right:0;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:10px;padding:4px;min-width:130px;box-shadow:0 4px 20px #0006;z-index:100}.lock-menu-item{display:block;width:100%;padding:8px 12px;background:none;border:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:7px;font-family:inherit}.lock-menu-item:hover{background:#ffffff0f;color:#fff}.lock-menu-divider{height:1px;background:#2a2a3e;margin:3px 0}.profile-status.away{color:#f59e0b}.profile-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.profile-popover{position:fixed;width:280px;background:var(--surface-raised, #232333);border:1px solid var(--border-subtle, rgba(255,255,255,.08));border-radius:12px;padding:16px;box-shadow:0 12px 32px #0006;animation:profilePopIn .12s ease-out}@keyframes profilePopIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.profile-popover-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.profile-popover-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--surface-2, #2e2e40);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--text-primary, #eee)}.profile-popover-img{width:100%;height:100%;object-fit:cover}.profile-popover-name{font-size:15px;font-weight:700;color:var(--text-primary, #eee)}.profile-popover-me{font-size:12px;font-weight:400;color:var(--text-faint, #8888a0)}.profile-popover-job{font-size:12px;color:var(--text-dim, #a0a0b8);margin-top:2px}.profile-popover-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.profile-popover-row{font-size:12.5px;color:var(--text-dim, #a0a0b8);display:flex;align-items:center;gap:8px;word-break:break-all}.profile-popover-icon{width:14px;text-align:center;flex-shrink:0}.profile-popover-dot{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0;margin:0 3px}.profile-popover-dot--on{background:#3da65d}.profile-popover-dm{width:100%;padding:8px 0;border:none;border-radius:8px;cursor:pointer;background:var(--accent, #5b52d6);color:#fff;font-size:13px;font-weight:600}.profile-popover-dm:hover{filter:brightness(1.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1a1a1a;color:#e0e0e0;height:100vh;overflow:hidden;-webkit-user-select:none;user-select:none}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#fff3}::-webkit-scrollbar-corner{background:transparent}
