.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;padding:20px}.login-card{background:#15192b;border:1px solid #7c3aed30;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-logo{text-align:center;margin-bottom:40px}.logo-image{max-width:120px;height:120px;width:120px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #7c3aed4d}.login-form{display:flex;flex-direction:column;gap:24px}.login-field{display:flex;flex-direction:column;gap:8px}.login-field label{color:#a0aec0;font-size:14px;font-weight:500}.login-field input{background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:12px 16px;color:#fff;font-size:16px;transition:all .2s}.login-field input:focus{outline:none;border-color:#7c3aed;background:#1e2140;box-shadow:0 0 0 3px #7c3aed1a}.login-field input:disabled{opacity:.5;cursor:not-allowed}.login-error{background:#7c3aed20;border:1px solid #7c3aed40;border-radius:8px;padding:12px;color:#f8d7da;font-size:14px;text-align:center}.login-submitBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:8px}.login-submitBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #7c3aed66}.login-submitBtn:active:not(:disabled){transform:translateY(0)}.login-submitBtn:disabled{opacity:.7;cursor:not-allowed}.login-sessionWarning{margin-top:-12px;color:#fbbf24;background:#fbbf2414;border:1px solid rgba(251,191,36,.22);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.45}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:200;display:flex;align-items:center;justify-content:center;animation:modalOverlayIn .18s ease both}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#0f1229;border:1px solid #7c3aed25;border-radius:14px;width:380px;max-width:95vw;max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 20px 60px #0009;animation:modalBoxIn .2s cubic-bezier(.4,0,.2,1) both}.modal-header{border-radius:14px 14px 0 0;overflow:hidden}.modal-footer{border-radius:0 0 14px 14px;overflow:hidden}@keyframes modalBoxIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #7c3aed15}.modal-header h3{color:#fff;font-size:17px;font-weight:600;margin:0}.modal-closeBtn{background:none;border:none;color:#64748b;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .2s,background .2s}.modal-closeBtn:hover{color:#fff;background:#7c3aed20}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-typeRow{display:flex;gap:8px}.modal-typeBtn{flex:1;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;color:#8892b0;padding:8px 6px;font-size:12px;cursor:pointer;transition:all .2s;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}.modal-typeBtn:hover{background:#7c3aed15;border-color:#7c3aed40;color:#e2e8f0}.modal-typeBtn--active{background:linear-gradient(135deg,#7c3aed20,#6d28d920);border-color:#7c3aed;color:#c4b5fd}.modal-e2eeToggle{width:100%;background:#111936;border:1px solid #38bdf840;border-radius:8px;color:#e2e8f0;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;transition:background .15s,border-color .15s}.modal-e2eeToggle:hover{background:#13203d;border-color:#38bdf870}.modal-e2eeToggle:disabled{cursor:not-allowed;opacity:.65}.modal-e2eeToggle:disabled:hover{background:#111936;border-color:#38bdf840}.modal-e2eeToggleIcon{color:#38bdf8;display:inline-flex;flex-shrink:0}.modal-e2eeToggleText{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.modal-e2eeToggleTitle{font-size:13px;font-weight:700}.modal-e2eeToggleSubtext{color:#94a3b8;font-size:12px}.modal-e2eeSwitch{width:34px;height:20px;background:#374151;border-radius:999px;flex-shrink:0;position:relative}.modal-e2eeSwitch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .15s}.modal-e2eeToggle--on .modal-e2eeSwitch{background:#38bdf8}.modal-e2eeToggle--on .modal-e2eeSwitch:after{transform:translate(14px)}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-field label{color:#8892b0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.modal-input{width:100%;box-sizing:border-box;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:10px 12px;color:#fff;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.modal-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.modal-input::placeholder{color:#4a5568}.modal-hint{color:#4a5568;font-size:11px}.modal-inputWrap{position:relative}.modal-suggestions{position:absolute;top:100%;left:0;right:0;background:#1a1f3a;border:1px solid #7c3aed40;border-top:none;border-radius:0 0 10px 10px;box-shadow:0 8px 24px #00000080;z-index:10;overflow:hidden;animation:modalSuggestIn .12s ease both}@keyframes modalSuggestIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal-suggestion{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:none;border:none;border-top:1px solid #ffffff06;cursor:pointer;transition:background .12s;text-align:left}.modal-suggestion:first-child{border-top:none}.modal-suggestion:hover,.modal-suggestion--selected{background:#7c3aed15}.modal-suggestionEmpty{color:#64748b;font-size:13px;padding:12px 14px;text-align:center}.modal-suggestionInfo{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.modal-suggestionName{color:#e2e8f0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-suggestionId{color:#64748b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.modal-userAvatar{border-radius:50%;object-fit:cover;flex-shrink:0}.modal-userAvatarPlaceholder{border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0}.modal-checkbox{width:16px;height:16px;flex-shrink:0;border:2px solid #374151;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.modal-checkbox--checked{background:#7c3aed;border-color:#7c3aed}.modal-chipInput{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 10px;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;cursor:text;box-sizing:border-box;width:100%;transition:border-color .2s,box-shadow .2s}.modal-chipInput:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.modal-chip{display:flex;align-items:center;gap:5px;background:#7c3aed28;border:1px solid #7c3aed50;border-radius:20px;padding:3px 6px 3px 10px;color:#c4b5fd;font-size:12px;white-space:nowrap;max-width:160px}.modal-chipName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-chipRemove{background:none;border:none;color:#a78bfa;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;display:flex;align-items:center;transition:color .12s;flex-shrink:0}.modal-chipRemove:hover{color:#fff}.modal-chipField{flex:1;min-width:80px;background:none;border:none;outline:none;color:#fff;font-size:14px;padding:2px 0}.modal-chipField::placeholder{color:#4a5568}.modal-error{background:#dc262615;border:1px solid #dc262640;border-radius:8px;color:#ef4444;padding:10px 12px;font-size:13px}.modal-footer{display:flex;gap:10px;padding:14px 20px 18px;border-top:1px solid #7c3aed15;justify-content:flex-end}.modal-cancelBtn{background:none;border:1px solid #7c3aed20;border-radius:8px;color:#8892b0;padding:10px 18px;font-size:14px;cursor:pointer;transition:all .2s}.modal-cancelBtn:hover{border-color:#7c3aed40;color:#fff}.modal-createBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.modal-createBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed66}.modal-createBtn:disabled{opacity:.5;cursor:not-allowed}.chatlist-container{width:100%;height:100vh;height:100dvh;background:#0f1229;border-right:1px solid #7c3aed15;display:flex;flex-direction:column;overflow:hidden}.chatlist-header{padding:16px;border-bottom:1px solid #7c3aed15;display:flex;justify-content:space-between;align-items:center}.chatlist-headerBtns{display:flex;gap:6px;align-items:center}.chatlist-brand{display:flex;align-items:center;gap:10px;min-width:0}.chatlist-brandLogo{width:28px;height:28px;border-radius:7px;display:block;flex-shrink:0}.chatlist-newChatBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;line-height:1;padding:0 12px;height:32px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:transform .2s,box-shadow .2s}.chatlist-newChatBtn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed66}.chatlist-header h1{color:#fff;font-size:20px;font-weight:700;margin:0;background:linear-gradient(135deg,#fff,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.chatlist-profileBtn{background:none;border:none;color:#7c3aed;font-size:20px;cursor:pointer;padding:4px;border-radius:6px;transition:transform .3s cubic-bezier(.4,0,.2,1),background .2s}.chatlist-profileBtn:hover{transform:scale(1.15) rotate(20deg);background:#7c3aed15}.chatlist-profileBtn--active{transform:rotate(90deg);background:#7c3aed20}.chatlist-profileBtn--active:hover{transform:rotate(90deg) scale(1.15)}.chatlist-searchBox{padding:12px}.chatlist-searchBox input{width:100%;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:8px 12px;color:#a0aec0;font-size:14px;transition:all .2s}.chatlist-searchBox input:focus{outline:none;border-color:#7c3aed;color:#fff}.chatlist-roomsList{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.chatlist-roomsList::-webkit-scrollbar{width:6px}.chatlist-roomsList::-webkit-scrollbar-track{background:transparent}.chatlist-roomsList::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:3px}.chatlist-roomsList::-webkit-scrollbar-thumb:hover{background:#7c3aed60}@keyframes roomItemIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.chatlist-roomItem{display:flex;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .18s,border-color .18s;align-items:flex-start;animation:roomItemIn .2s ease both}.chatlist-roomItem:hover{background:#7c3aed15}.chatlist-roomItem--unread{background:#ffffff04}.chatlist-roomItem--unread .chatlist-roomName{font-weight:700}.chatlist-roomItem--unread .chatlist-lastMessage{color:#cbd5e1;font-weight:500}.chatlist-roomItem--unread .chatlist-roomTime{color:#a78bfa}.chatlist-roomItem--highlight{background:#1e1a3a}.chatlist-roomItem:focus-visible{outline:2px solid #38bdf8;outline-offset:-2px}.chatlist-roomItem.chatlist-active{background:#7c3aed25;border-left:3px solid #7c3aed;padding-left:9px}.chatlist-roomAvatar{flex-shrink:0;width:48px;height:48px}.chatlist-roomAvatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.chatlist-avatarPlaceholder{width:100%;height:100%;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.chatlist-roomInfo{flex:1;min-width:0;padding-top:4px}.chatlist-roomName{color:#fff;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.chatlist-roomTopic{color:#6d7fa3;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.chatlist-lastMessage{color:#8892b0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatlist-roomMeta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.chatlist-roomTime{color:#64748b;font-size:12px;flex-shrink:0}.chatlist-unreadBadge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#7c3aed;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1;box-shadow:0 4px 12px #7c3aed59}.chatlist-unreadBadge--highlight{background:#ef4444;box-shadow:0 4px 12px #ef444459}.chatlist-pinBtn{background:none;border:none;cursor:pointer;font-size:11px;opacity:.35;padding:2px 3px;border-radius:4px;transition:opacity .15s,background .15s;line-height:1;filter:grayscale(1);color:#8892b0;display:inline-flex;align-items:center;justify-content:center}.chatlist-roomItem:hover .chatlist-pinBtn{opacity:.65}.chatlist-pinBtn:hover{opacity:1!important;background:#7c3aed20;filter:none}.chatlist-pinBtn--active{opacity:.85!important;filter:none}.chatlist-roomNameRow{display:flex;align-items:center;gap:5px;min-width:0}.chatlist-pinnedBadge{opacity:.6;flex-shrink:0;color:#a78bfa;display:inline-flex}.chatlist-e2eeBadge{color:#bae6fd;background:#0f2942;border:1px solid #38bdf850;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:18px;width:18px}.chatlist-dragHint{color:#64748b;opacity:.7;flex-shrink:0;cursor:grab;display:inline-flex;gap:0}.chatlist-sectionLabel{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:8px 12px 4px;-webkit-user-select:none;user-select:none}.chatlist-dragOver{background:#7c3aed20!important;outline:1px dashed #7c3aed60;border-radius:8px}.chatlist-sectionLabel--invite{color:#a78bfa}.chatlist-inviteItem{display:flex;gap:12px;padding:10px 12px;border-radius:8px;align-items:center;background:#1a1040;border:1px solid #7c3aed30;animation:roomItemIn .2s ease both}.chatlist-inviteSubtext{color:#a78bfa;font-size:12px;margin-top:2px}.chatlist-inviteActions{display:flex;gap:6px;flex-shrink:0}.chatlist-acceptBtn,.chatlist-declineBtn{width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s}.chatlist-acceptBtn{background:#22c55e;color:#fff}.chatlist-declineBtn{background:#ef4444;color:#fff}.chatlist-acceptBtn:hover,.chatlist-declineBtn:hover{transform:scale(1.1)}.chatlist-acceptBtn:disabled,.chatlist-declineBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chatlist-loading,.chatlist-empty{color:#64748b;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;height:100%;font-size:14px;text-align:center;padding:16px}.chatlist-empty p{margin:0}.chatlist-empty button{background:#1e3a5f;border:1px solid #38bdf850;border-radius:8px;color:#bae6fd;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s,border-color .15s}.chatlist-empty button:hover{background:#164e63;border-color:#38bdf8}.chatlist-userBar{display:flex;align-items:center;gap:10px;padding:20px 16px;border-top:1px solid #7c3aed15;background:#0f1229;cursor:pointer;transition:background .2s;flex-shrink:0;-webkit-user-select:none;user-select:none}.chatlist-userBar:hover{background:#7c3aed10}.chatlist-userBar--active{background:#7c3aed18}.chatlist-selfAvatarWrap{width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0}.chatlist-selfAvatarImg{width:32px;height:32px;object-fit:cover;display:block}.chatlist-selfAvatarPlaceholder{width:32px;height:32px;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;border-radius:8px}.chatlist-userBarInfo{flex:1;min-width:0}.chatlist-userBarName{color:#e2e8f0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatlist-userBarGear{color:#64748b;flex-shrink:0;transition:color .2s,transform .3s cubic-bezier(.4,0,.2,1);line-height:1;display:inline-flex}.chatlist-userBar:hover .chatlist-userBarGear{color:#a78bfa;transform:rotate(30deg)}.chatlist-userBar--active .chatlist-userBarGear{color:#a78bfa;transform:rotate(90deg)}.chatlist-container--collapsed .chatlist-header{padding:12px 10px;justify-content:center;flex-direction:column;gap:10px}.chatlist-container--collapsed .chatlist-brand{justify-content:center}.chatlist-container--collapsed .chatlist-brand h1,.chatlist-container--collapsed .chatlist-newChatLabel,.chatlist-container--collapsed .chatlist-searchBox,.chatlist-container--collapsed .chatlist-sectionLabel,.chatlist-container--collapsed .chatlist-roomInfo,.chatlist-container--collapsed .chatlist-roomTime,.chatlist-container--collapsed .chatlist-pinBtn,.chatlist-container--collapsed .chatlist-inviteSubtext,.chatlist-container--collapsed .chatlist-inviteActions,.chatlist-container--collapsed .chatlist-userBarInfo,.chatlist-container--collapsed .chatlist-userBarGear{display:none}.chatlist-container--collapsed .chatlist-newChatBtn{width:42px;height:42px;padding:0;border-radius:10px}.chatlist-container--collapsed .chatlist-roomsList{padding:8px 10px;align-items:center}.chatlist-container--collapsed .chatlist-roomItem,.chatlist-container--collapsed .chatlist-inviteItem{position:relative;width:52px;height:56px;padding:4px 2px;justify-content:center;align-items:center;gap:0}.chatlist-container--collapsed .chatlist-roomItem.chatlist-active{border-left:0;padding-left:2px;outline:2px solid #7c3aed80}.chatlist-container--collapsed .chatlist-roomAvatar{width:44px;height:44px}.chatlist-container--collapsed .chatlist-roomMeta{position:absolute;right:-1px;bottom:1px}.chatlist-container--collapsed .chatlist-unreadBadge{min-width:18px;height:18px;padding:0 5px;font-size:10px}.chatlist-container--collapsed .chatlist-userBar{justify-content:center;padding:14px 10px}.chatlist-e2eeBadge--warn{color:#fcd34d;background:#3b2f12;border-color:#f59e0b66}.imgviewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;animation:viewerIn .18s ease both;cursor:zoom-out}@keyframes viewerIn{0%{opacity:0}to{opacity:1}}.imgviewer-closeBtn{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:20px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.imgviewer-closeBtn:hover{background:#fff3}.imgviewer-img{max-width:90vw;max-height:90vh;max-height:90dvh;object-fit:contain;border-radius:8px;cursor:default;box-shadow:0 20px 60px #000c}.roomedit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center}.roomedit-modal{background:#13172e;border:1px solid #7c3aed30;border-radius:16px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 64px #0009;animation:roomeditIn .2s ease both}@keyframes roomeditIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.roomedit-modal::-webkit-scrollbar{width:6px}.roomedit-modal::-webkit-scrollbar-track{background:transparent}.roomedit-modal::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:3px}.roomedit-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.roomedit-header h2{margin:0;color:#fff;font-size:18px;font-weight:600}.roomedit-closeBtn{background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s;line-height:1}.roomedit-closeBtn:hover{color:#fff;background:#7c3aed20}.roomedit-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.roomedit-avatarSection{display:flex;justify-content:center}.roomedit-avatarWrap{position:relative;width:80px;height:80px;cursor:pointer;border-radius:50%;overflow:hidden;flex-shrink:0}.roomedit-avatarImg{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.roomedit-avatarPlaceholder{width:100%;height:100%;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:28px;border-radius:50%}.roomedit-avatarOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;font-size:22px;opacity:0;transition:opacity .18s;border-radius:50%}.roomedit-avatarWrap:hover .roomedit-avatarOverlay{opacity:1}.roomedit-field{display:flex;flex-direction:column;gap:6px}.roomedit-field label{color:#8892b0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.roomedit-input{background:#1e2140;border:1px solid #7c3aed30;border-radius:8px;padding:10px 14px;color:#fff;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.roomedit-input:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.roomedit-input::placeholder{color:#4a5568}.roomedit-input--error{border-color:#ef4444}.roomedit-textarea{background:#1e2140;border:1px solid #7c3aed30;border-radius:8px;padding:10px 14px;color:#fff;font-size:14px;outline:none;resize:vertical;font-family:inherit;line-height:1.5;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.roomedit-textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.roomedit-textarea::placeholder{color:#4a5568}.roomedit-inviteRow{display:flex;gap:8px}.roomedit-inviteRow .roomedit-input{flex:1}.roomedit-inviteBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;padding:0 16px;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s}.roomedit-inviteBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.roomedit-inviteBtn:disabled{opacity:.45;cursor:not-allowed}.roomedit-saveBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;padding:12px;cursor:pointer;width:100%;transition:transform .15s,box-shadow .15s}.roomedit-saveBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed73}.roomedit-saveBtn:disabled{opacity:.45;cursor:not-allowed}.roomedit-divider{height:1px;background:#7c3aed15}.roomedit-leaveBtn{background:none;border:1px solid #ef444430;border-radius:10px;color:#ef4444;font-size:14px;font-weight:500;padding:10px;cursor:pointer;width:100%;transition:background .15s,border-color .15s}.roomedit-leaveBtn:hover{background:#ef444415;border-color:#ef444460}.roomedit-confirmOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:flex;align-items:center;justify-content:center;background:#00000094}.roomedit-confirmDialog{width:min(340px,calc(100vw - 32px));background:#1e2140;border:1px solid #ef444450;border-radius:14px;box-shadow:0 18px 48px #0000008c;display:flex;flex-direction:column;gap:10px;padding:22px}.roomedit-confirmTitle{color:#fff;font-size:16px;font-weight:700}.roomedit-confirmText{color:#8892b0;font-size:14px;line-height:1.4}.roomedit-confirmActions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.roomedit-confirmCancel,.roomedit-confirmOk{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 16px}.roomedit-confirmCancel{background:none;border:1px solid #7c3aed30;color:#cbd5e1}.roomedit-confirmOk{background:#ef4444;color:#fff;font-weight:700}.roomedit-error{color:#f87171;font-size:12px}.roomedit-success{color:#34d399;font-size:12px}.invitemodal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center}.invitemodal-modal{background:#13172e;border:1px solid #7c3aed30;border-radius:16px;width:540px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 64px #0009;animation:invitemodalIn .2s ease both}@keyframes invitemodalIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.invitemodal-modal::-webkit-scrollbar{width:6px}.invitemodal-modal::-webkit-scrollbar-track{background:transparent}.invitemodal-modal::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:3px}.invitemodal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.invitemodal-header h2{margin:0;color:#fff;font-size:18px;font-weight:600}.invitemodal-closeBtn{background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s;line-height:1}.invitemodal-closeBtn:hover{color:#fff;background:#7c3aed20}.invitemodal-body{padding:16px 24px 28px;display:flex;flex-direction:column;gap:20px}.invitemodal-section{display:flex;flex-direction:column;gap:12px}.invitemodal-sectionLabel{color:#7c8bab;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.invitemodal-divider{height:1px;background:#7c3aed15}.invitemodal-membersList{display:flex;flex-direction:column;gap:2px}.invitemodal-member{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;transition:background .12s}.invitemodal-member:hover{background:#ffffff08}.invitemodal-avatar{border-radius:50%;object-fit:cover;flex-shrink:0}.invitemodal-avatarPlaceholder{border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0}.invitemodal-memberInfo{flex:1;min-width:0}.invitemodal-memberName{color:#e2e8f0;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitemodal-memberId{color:#64748b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitemodal-badge{background:#7c3aed20;color:#a78bfa;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;white-space:nowrap;flex-shrink:0}.invitemodal-inviteRow{display:flex;gap:8px;align-items:stretch}.invitemodal-inputWrap{position:relative;flex:1;min-width:0}.invitemodal-chipInput{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:7px 10px;background:#1e2140;border:1px solid #7c3aed30;border-radius:8px;cursor:text;box-sizing:border-box;width:100%;transition:border-color .2s,box-shadow .2s}.invitemodal-chipInput:focus-within{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.invitemodal-chipInput--error{border-color:#ef4444}.invitemodal-chip{display:flex;align-items:center;gap:5px;background:#7c3aed28;border:1px solid #7c3aed55;border-radius:20px;padding:3px 6px 3px 10px;color:#c4b5fd;font-size:13px;white-space:nowrap;max-width:180px}.invitemodal-chipName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitemodal-chipRemove{background:none;border:none;color:#a78bfa;cursor:pointer;font-size:15px;line-height:1;padding:0 2px;display:flex;align-items:center;transition:color .12s;flex-shrink:0}.invitemodal-chipRemove:hover{color:#fff}.invitemodal-chipField{flex:1;min-width:80px;background:none;border:none;outline:none;color:#fff;font-size:14px;padding:2px 0}.invitemodal-chipField::placeholder{color:#4a5568}.invitemodal-inviteBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;padding:0 18px;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s;align-self:stretch;min-height:44px}.invitemodal-inviteBtn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.invitemodal-inviteBtn:disabled{opacity:.45;cursor:not-allowed}.invitemodal-suggestions{position:absolute;top:100%;left:0;right:0;background:#1a1f3a;border:1px solid #7c3aed40;border-top:none;border-radius:0 0 10px 10px;box-shadow:0 8px 24px #00000080;z-index:10;overflow:hidden;animation:suggestIn .12s ease both}@keyframes suggestIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.invitemodal-suggestion{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:none;border:none;border-top:1px solid #ffffff06;cursor:pointer;transition:background .12s;text-align:left}.invitemodal-suggestion:first-child{border-top:none}.invitemodal-suggestion--selected{background:#7c3aed10}.invitemodal-checkbox{width:18px;height:18px;flex-shrink:0;border:2px solid #374151;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.invitemodal-checkbox--checked{background:#7c3aed;border-color:#7c3aed}.invitemodal-suggestion:hover{background:#7c3aed20}.invitemodal-suggestionEmpty{color:#64748b;font-size:13px;padding:13px 16px;text-align:center}.invitemodal-suggestionInfo{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.invitemodal-suggestionName{color:#e2e8f0;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitemodal-suggestionId{color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.invitemodal-error{color:#f87171;font-size:12px}.invitemodal-success{color:#34d399;font-size:12px}.chat-container{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#0a0e27;flex:1;position:relative}.chat-header{padding:15px 24px;border-bottom:1px solid #7c3aed15;background:#0f1229;display:flex;align-items:center;gap:12px;position:relative}.chat-headerAvatarWrap{flex-shrink:0;width:36px;height:36px}.chat-headerAvatar{width:36px;height:36px;border-radius:50%;object-fit:cover;display:block}.chat-headerAvatarPlaceholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.chat-headerTitleGroup{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.chat-roomName{color:#fff;font-size:16px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-roomTopic{color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-roomMetaLine{display:flex;align-items:center;gap:8px;min-height:16px;min-width:0}.chat-e2eeBadge{color:#bae6fd;background:#0f2942;border:1px solid #38bdf850;border-radius:999px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:10px;font-weight:700;line-height:1;padding:3px 7px}.chat-e2eeWarning{display:flex;align-items:center;gap:8px;background:#251b36;border-bottom:1px solid #7c3aed30;color:#d8b4fe;font-size:13px;padding:8px 24px}.chat-headerActions{display:flex;gap:8px;align-items:center}.chat-backBtn{display:none;background:none;border:none;color:#7c3aed;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;transition:background .2s}.chat-backBtn:hover{background:#7c3aed20}@media (max-width: 768px){.chat-backBtn{display:block}.chat-groupBubbles{max-width:80%}.chat-bubble{max-width:100%}}.chat-menuBtn{background:none;border:none;color:#8892b0;font-size:22px;cursor:pointer;padding:4px 10px;border-radius:6px;transition:background .2s,color .2s;line-height:1}.chat-menuBtn:hover{background:#7c3aed20;color:#fff}.chat-roomMenu{position:absolute;top:calc(100% + 4px);right:16px;background:#1e2140;border:1px solid #7c3aed30;border-radius:10px;z-index:50;min-width:180px;box-shadow:0 8px 24px #0006;overflow:hidden;animation:menuIn .15s ease both}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.chat-roomMenu button{display:block;width:100%;text-align:left;background:none;border:none;color:#e2e8f0;padding:12px 16px;font-size:14px;cursor:pointer;transition:background .15s}.chat-roomMenu button:hover{background:#7c3aed20}.chat-roomMenu-danger{color:#ef4444!important}.chat-roomMenu-danger:hover{background:#ef444415!important}.chat-actionBar{display:flex;gap:8px;padding:10px 16px;background:#0f1229;border-bottom:1px solid #7c3aed15;align-items:center}.chat-actionInput{flex:1;background:#1e2140;border:1px solid #7c3aed40;border-radius:8px;padding:8px 12px;color:#fff;font-size:14px;outline:none}.chat-actionInput:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.chat-actionInput--error{border-color:#ef4444}.chat-actionInputWrap{flex:1;display:flex;flex-direction:column;gap:4px}.chat-actionInputWrap .chat-actionInput{width:100%}.chat-actionError{color:#ef4444;font-size:12px;padding:0 2px}.chat-actionConfirm{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.chat-actionCancel{background:none;border:1px solid #7c3aed20;border-radius:8px;color:#8892b0;padding:8px 12px;font-size:13px;cursor:pointer}.chat-actionCancel:hover{border-color:#7c3aed40;color:#fff}@keyframes emptyStateIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#64748b;animation:emptyStateIn .3s ease both}.chat-emptyLogo{width:76px;height:76px;border-radius:50%;padding:8px;margin-bottom:16px;background:#151936;border:1px solid #7c3aed30;box-shadow:0 14px 36px #00000047;overflow:hidden}.chat-emptyLogo img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.chat-emptyState p{font-size:16px}.chat-messagesList{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:8px}.chat-messagesList::-webkit-scrollbar{width:8px}.chat-messagesList::-webkit-scrollbar-track{background:transparent}.chat-messagesList::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:4px}.chat-messagesList::-webkit-scrollbar-thumb:hover{background:#7c3aed60}.chat-messagesArea{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.chat-messagesArea .chat-messagesList{flex:1}.chat-jumpToNew{position:absolute;right:22px;bottom:18px;width:44px;height:44px;border-radius:50%;background:#1e2140;border:1px solid #7c3aed40;color:#c4b5fd;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px #0006;z-index:25;transition:transform .15s ease,background .15s ease}.chat-jumpToNew:hover{background:#2a2f55;transform:translateY(-2px)}.chat-jumpToNewBadge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#7c3aed;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}.chat-msgStatus{display:inline-flex;align-items:center;line-height:0}.chat-msgStatus--sent{color:#ffffff8c}.chat-msgStatus--read{color:#60a5fa}.chat-msgStatus--sending{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center}.chat-msgStatusSpinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffffe6;animation:chat-statusSpin .7s linear infinite;display:inline-block}@keyframes chat-statusSpin{to{transform:rotate(360deg)}}.chat-msgStatus--error{display:inline-flex;align-items:center;gap:2px}.chat-msgStatusBtn{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;color:#f87171}.chat-msgStatusBtn--discard{color:#ffffff8c}.chat-msgStatusBtn:hover{filter:brightness(1.2)}.chat-readReceiptAvatars{display:flex;flex-direction:row;gap:2px;padding:3px 6px 0;justify-content:flex-end}.chat-group:not(.chat-group--own) .chat-readReceiptAvatars{justify-content:flex-start}.chat-readReceiptAvatar{display:inline-flex}.chat-readReceiptAvatarImg.chat-memberAvatarImg,.chat-readReceiptAvatarImg.chat-memberAvatarPlaceholder{width:16px;height:16px;font-size:9px;border:1px solid #0a0e27}.chat-systemMsg{text-align:center;color:#64748b;font-size:12px;padding:4px 16px;-webkit-user-select:none;user-select:none}.chat-dateDivider,.chat-unreadDivider{display:flex;align-items:center;gap:12px;color:#7c8bab;font-size:12px;font-weight:600;margin:8px 0 10px;-webkit-user-select:none;user-select:none}.chat-dateDivider:before,.chat-dateDivider:after,.chat-unreadDivider:before,.chat-unreadDivider:after{content:"";height:1px;flex:1;background:#7c3aed20}.chat-dateDivider span,.chat-unreadDivider span{border:1px solid #7c3aed20;border-radius:999px;background:#101632;padding:4px 12px}.chat-unreadDivider{color:#bae6fd;margin:12px 0}.chat-unreadDivider:before,.chat-unreadDivider:after{background:#38bdf860}.chat-unreadDivider span{background:#0f2942;border-color:#38bdf870}.chat-loading,.chat-noMessages,.chat-loadError{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:14px}.chat-historyStatus{display:flex;align-items:center;justify-content:center;padding:10px 0;color:#94a3b8;font-size:12px}.chat-noMessages,.chat-loadError{flex-direction:column;gap:10px;text-align:center}.chat-noMessages p,.chat-loadError p{margin:0}.chat-noMessages button,.chat-loadError button{background:#1e3a5f;border:1px solid #38bdf850;border-radius:8px;color:#bae6fd;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s,border-color .15s}.chat-noMessages button:hover,.chat-loadError button:hover{background:#164e63;border-color:#38bdf8}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-group{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start;animation:msgIn .18s ease both}.chat-group--own{flex-direction:row-reverse}.chat-groupAvatarCol{flex-shrink:0;width:32px;height:32px;border-radius:50%;overflow:hidden}.chat-memberAvatarImg{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}.chat-memberAvatarPlaceholder{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4a5568,#2d3748);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px}.chat-groupBubbles{display:flex;flex-direction:column;gap:2px;max-width:62%}.chat-group--own .chat-groupBubbles{align-items:flex-end}.chat-groupSender{font-size:12px;font-weight:500;color:#8892b0;padding:0 12px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chat-group--own .chat-groupSender{text-align:right}.chat-msgBubbleWrapper{display:flex;flex-direction:column}.chat-group--own .chat-msgBubbleWrapper{align-items:flex-end}.chat-msgTime{font-size:11px;color:#64748b;padding:2px 6px 0;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:4px}.chat-group--own .chat-msgTime{color:#ffffff73}.chat-bubble{background:#1e2140;max-width:100%;border:1px solid #7c3aed20;border-radius:12px;padding:10px 14px;min-width:80px}.chat-group--own .chat-bubble{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none}.chat-text{color:#fff;font-size:14px;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}.chat-text--emojiOnly{font-size:36px;line-height:1.15;letter-spacing:0;word-break:normal}.chat-encryptedPlaceholder{color:#cbd5e1;border:1px dashed #7c3aed50;border-radius:8px;background:#111936;display:inline-flex;align-items:center;gap:7px;font-size:13px;line-height:1.35;padding:8px 10px}.chat-encryptedPlaceholder--missing_keys,.chat-encryptedPlaceholder--decryption_failed{color:#fecaca;background:#2a1118;border-color:#ef444460}.chat-decryptRetryBtn{margin-left:4px;padding:2px 8px;font-size:12px;font-weight:600;color:#93c5fd;background:transparent;border:1px solid #3b82f655;border-radius:999px;cursor:pointer;white-space:nowrap}.chat-decryptRetryBtn:hover{background:#1e293b}.chat-bubble:has(.chat-text--emojiOnly){background:transparent!important;border:none!important;min-width:unset;padding:4px 8px}.chat-msgItem{display:flex;flex-direction:column;position:relative}.chat-msgItemBody{display:flex;align-items:flex-end;gap:4px;position:relative}.chat-msgContent{flex:1;min-width:0;display:flex;flex-direction:column}.chat-msgReplyBtn{position:absolute;top:50%;transform:translateY(-50%);left:calc(100% + 20px);background:none;border:1px solid #7c3aed30;border-radius:6px;color:#8892b0;font-size:14px;cursor:pointer;padding:4px 8px;line-height:1;opacity:0;transition:opacity .15s,background .15s,color .15s,border-color .15s;white-space:nowrap;z-index:1}.chat-group--own .chat-msgReplyBtn{left:auto;right:calc(100% + 20px)}.chat-msgItem:hover .chat-msgReplyBtn,.chat-msgItem:focus-within .chat-msgReplyBtn{opacity:1}.chat-msgReplyBtn:hover{background:#7c3aed15;border-color:#7c3aed50;color:#a78bfa}.chat-msgEmojiBtn{position:absolute;top:50%;transform:translateY(-50%);left:calc(100% + 56px);background:none;border:1px solid #7c3aed30;border-radius:6px;color:#8892b0;font-size:13px;cursor:pointer;padding:3px 6px;line-height:1;opacity:0;transition:opacity .15s,background .15s,border-color .15s;white-space:nowrap;z-index:1}.chat-group--own .chat-msgEmojiBtn{left:auto;right:calc(100% + 56px)}.chat-msgItem:hover .chat-msgEmojiBtn,.chat-msgItem:focus-within .chat-msgEmojiBtn{opacity:1}.chat-msgEmojiBtn:hover{background:#7c3aed15;border-color:#7c3aed50}.chat-msgReactionsRow{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.chat-reactionChip{display:inline-flex;align-items:center;gap:3px;background:#7c3aed1f;border:1px solid #7c3aed30;border-radius:12px;padding:2px 8px 2px 6px;cursor:pointer;font-size:13px;line-height:1.4;transition:background .15s,border-color .15s;color:#c4b5fd}.chat-reactionChip:hover{background:#7c3aed38;border-color:#7c3aed60}.chat-reactionChip--own{background:#7c3aed47;border-color:#7c3aed80}.chat-reactionChip--own:hover{background:#7c3aed61}.chat-group--own .chat-reactionChip{background:#ffffff1f;border-color:#ffffff40;color:#fff}.chat-group--own .chat-reactionChip:hover{background:#fff3}.chat-group--own .chat-reactionChip--own{background:#ffffff47;border-color:#ffffff80}.chat-reactionChip--pending{opacity:.6;cursor:default}.chat-reactionEmoji{font-size:14px;line-height:1}.chat-reactionCount{font-size:12px;font-weight:500}.chat-reactionPicker{position:fixed;display:flex;gap:4px;background:#1e2140;border:1px solid #7c3aed40;border-radius:12px;padding:6px 8px;box-shadow:0 8px 28px #0000008c;z-index:200;animation:menuIn .12s ease both}.chat-reactionPickerBtn{background:none;border:1px solid transparent;border-radius:8px;font-size:20px;padding:4px 6px;cursor:pointer;line-height:1;transition:background .12s,border-color .12s,transform .1s}.chat-reactionPickerBtn:hover{background:#7c3aed20;border-color:#7c3aed40;transform:scale(1.2)}.chat-reactionPickerBtn--own{background:#7c3aed40;border-color:#7c3aed60}.chat-reactionPickerBtn--own:hover{background:#7c3aed61}.chat-contextMenuReactions{display:flex;gap:2px;padding:8px 10px}.chat-contextMenuReactionBtn{background:none!important;border:1px solid transparent!important;border-radius:8px!important;font-size:20px!important;padding:4px 6px!important;cursor:pointer;line-height:1!important;width:auto!important;transition:background .12s,border-color .12s,transform .1s!important;flex-shrink:0}.chat-contextMenuReactionBtn:hover{background:#7c3aed20!important;border-color:#7c3aed40!important;transform:scale(1.2)}.chat-contextMenuReactionBtn--own{background:#7c3aed40!important;border-color:#7c3aed60!important}.chat-reactionPickerBtn--more,.chat-contextMenuReactionBtn--more{color:#c4b5fd;display:inline-flex!important;align-items:center;justify-content:center}.chat-reactionPickerBtn--more:hover,.chat-contextMenuReactionBtn--more:hover{transform:scale(1.12)}.chat-emojiReactionPicker{position:fixed;z-index:210;animation:menuIn .12s ease both}.chat-emojiReactionPicker .chat-composerPicker{position:static;bottom:auto;right:auto}.chat-contextMenuDivider{height:1px;background:#7c3aed20;margin:0 10px 4px}.chat-editedBadge{display:block;font-size:10px;color:#fff6;font-style:italic;margin-top:2px;line-height:1}.chat-group:not(.chat-group--own) .chat-editedBadge{color:#64748b}.chat-editBanner{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#0f1229;border-top:1px solid #7c3aed30;border-left:3px solid #7c3aed}.chat-editBannerIcon{color:#7c3aed;font-size:16px;flex-shrink:0}.chat-editBannerText{flex:1;min-width:0}.chat-editBannerLabel{color:#7c3aed;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.chat-editBannerPreview{color:#8892b0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-editBannerCancel{background:none;border:none;color:#64748b;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;flex-shrink:0;transition:color .15s}.chat-editBannerCancel:hover{color:#ef4444}.chat-msgItem--sep{padding-top:8px;margin-top:8px;border-top:1px solid rgba(255,255,255,.06)}.chat-group--own .chat-msgItem--sep{border-top-color:#ffffff1f}.chat-contextMenu{position:fixed;background:#1e2140;border:1px solid #7c3aed30;border-radius:10px;z-index:200;min-width:172px;box-shadow:0 8px 28px #0000008c;overflow:hidden;animation:menuIn .12s ease both}.chat-contextMenu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:#e2e8f0;padding:10px 14px;font-size:14px;cursor:pointer;transition:background .15s}.chat-contextMenu button:hover{background:#7c3aed20}.chat-contextMenu-danger{color:#ef4444!important}.chat-contextMenu-danger:hover{background:#ef444415!important}.chat-contextMenuIcon{font-size:14px;flex-shrink:0;width:18px;text-align:center}.chat-msgItem--deleting,.chat-group--deleting{opacity:0;transition:opacity .12s ease-out;pointer-events:none}.chat-deleteOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;animation:menuIn .15s ease both}.chat-deleteDialog{background:#1e2140;border:1px solid #7c3aed30;border-radius:14px;padding:24px;min-width:280px;max-width:340px;box-shadow:0 16px 48px #0000008c;display:flex;flex-direction:column;gap:10px;animation:menuIn .15s ease both}.chat-deleteDialogTitle{color:#fff;font-size:16px;font-weight:600}.chat-deleteDialogText{color:#8892b0;font-size:14px}.chat-deleteDialogActions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.chat-deleteDialogCancel{background:none;border:1px solid #7c3aed30;border-radius:8px;color:#8892b0;padding:8px 16px;font-size:14px;cursor:pointer;transition:border-color .15s,color .15s}.chat-deleteDialogCancel:hover{border-color:#7c3aed60;color:#fff}.chat-deleteDialogOk{background:#ef4444;border:none;border-radius:8px;color:#fff;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.chat-deleteDialogOk:hover{background:#dc2626}.chat-bubble--media{padding:0;min-width:unset;background:transparent!important;border:none!important}@keyframes imgShimmer{0%{background-position:-260px 0}to{background-position:260px 0}}.chat-imgLoading{width:200px;height:140px;border-radius:10px;background:linear-gradient(90deg,#1e2140 25%,#2a2f5a,#1e2140 75%);background-size:520px 100%;animation:imgShimmer 1.2s ease-in-out infinite}.chat-imgWrapper{position:relative;cursor:pointer;border-radius:10px;overflow:hidden;max-width:260px;line-height:0}.chat-imgThumb{display:block;max-width:260px;max-height:220px;width:100%;object-fit:cover;border-radius:10px}.chat-imgFallback{display:flex;align-items:center;gap:6px;padding:10px 14px;color:#a78bfa;text-decoration:none;font-size:14px}.chat-imgFallback:hover{color:#c4b5fd;text-decoration:underline}.chat-fileLink{color:#a78bfa;text-decoration:none;font-size:14px;display:flex;align-items:center;gap:6px}.chat-fileLink:hover{color:#c4b5fd;text-decoration:underline}.chat-filePreview{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#0f1229;border-top:1px solid #7c3aed20}.chat-filePreviewImg{height:56px;width:56px;object-fit:cover;border-radius:6px;border:1px solid #7c3aed30}.chat-filePreviewName{color:#a0aec0;font-size:13px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.chat-filePreviewRemove{background:none;border:none;color:#64748b;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}.chat-filePreviewRemove:hover{color:#ef4444}.chat-uploadError{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;background:#2a0f0f;border-top:1px solid #ef444430;color:#f87171;font-size:13px}.chat-uploadErrorDismiss{background:none;border:none;color:#f87171;font-size:14px;cursor:pointer;padding:2px 4px;flex-shrink:0;opacity:.7;transition:opacity .15s}.chat-uploadErrorDismiss:hover{opacity:1}.chat-inputArea{padding:12px 24px;border-top:1px solid #7c3aed15;display:flex;gap:12px;background:#0f1229;align-items:flex-start}.chat-attachBtn{background:none;border:1px solid #7c3aed20;border-radius:8px;color:#8892b0;font-size:18px;min-width:42px;min-height:42px;padding:9px 11px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.chat-attachBtn:hover{background:#7c3aed15;border-color:#7c3aed40;color:#fff}.chat-attachBtn:disabled{opacity:.42;cursor:not-allowed}.chat-attachBtn:disabled:hover{background:none;border-color:#7c3aed20;color:#8892b0}.chat-attachWrap{position:relative;flex-shrink:0;order:2}.chat-composerPickerWrap{position:relative;flex-shrink:0;order:3}.chat-composerPickerBtn{background:none;border:1px solid #7c3aed20;border-radius:8px;color:#8892b0;font-size:18px;min-width:42px;min-height:42px;padding:9px 11px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;line-height:1;display:inline-flex;align-items:center;justify-content:center}.chat-composerPickerBtn:hover,.chat-composerPickerBtn--active{background:#7c3aed15;border-color:#7c3aed40;color:#fff}.chat-composerPicker{position:absolute;bottom:calc(100% + 8px);right:0;box-sizing:border-box;width:340px;max-width:calc(100vw - 32px);max-height:420px;overflow:hidden;background:#1e2140;border:1px solid #7c3aed40;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 32px #00000080;z-index:30;animation:menuIn .12s ease both}.chat-composerPickerTabs{display:flex;gap:6px}.chat-composerPickerTab{background:#7c3aed29;border:1px solid #7c3aed40;border-radius:7px;color:#ddd6fe;cursor:default;font-size:13px;font-weight:600;line-height:1;padding:8px 10px}.chat-composerPickerTab--active{background:#7c3aed47;border-color:#7c3aed70;color:#fff}.chat-emojiSearch{width:100%;background:#111832;border:1px solid #7c3aed25;border-radius:8px;color:#f8fafc;font-size:14px;min-height:36px;padding:8px 10px;outline:none}.chat-emojiSearch:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.chat-emojiSearch::placeholder{color:#64748b}.chat-emojiCategories{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:6px;overflow:hidden}.chat-emojiCategory{align-items:center;background:transparent;border:1px solid #7c3aed25;border-radius:7px;color:#94a3b8;cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;line-height:1;min-height:34px;min-width:0;padding:6px;transition:background .15s,border-color .15s,color .15s;width:100%}.chat-emojiCategory:hover,.chat-emojiCategory--active{background:#7c3aed20;border-color:#7c3aed50;color:#fff}.chat-emojiGrid{box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));grid-auto-rows:38px;gap:4px;align-content:start;align-items:center;justify-items:center;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;width:100%;min-height:150px;max-height:230px;padding:2px 8px 2px 2px}.chat-emojiGrid::-webkit-scrollbar{width:6px}.chat-emojiGrid::-webkit-scrollbar-track{background:transparent}.chat-emojiGrid::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:3px}.chat-emojiOption{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:24px;justify-content:center;line-height:1;height:36px;min-width:0;padding:4px;transition:background .12s,border-color .12s,transform .1s;width:36px}.chat-emojiOption:hover,.chat-emojiOption:focus-visible{background:#7c3aed20;border-color:#7c3aed40;outline:none;transform:scale(1.12)}.chat-emojiEmpty{color:#64748b;font-size:13px;grid-column:1 / -1;padding:24px 8px;text-align:center}@media (max-width: 520px){.chat-composerPicker{right:-68px;width:calc(100vw - 32px)}.chat-emojiGrid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));grid-auto-rows:36px;padding-right:6px}.chat-emojiOption{height:34px;width:34px}}.chat-attachMenu{position:absolute;bottom:calc(100% + 8px);right:0;background:#1e2140;border:1px solid #7c3aed40;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:2px;min-width:160px;box-shadow:0 8px 24px #0006;z-index:10}.chat-attachMenuItem{display:flex;align-items:center;gap:10px;background:none;border:none;border-radius:7px;color:#cbd5e1;font-size:14px;padding:10px 14px;cursor:pointer;text-align:left;transition:background .15s,color .15s;white-space:nowrap;width:100%}.chat-attachMenuItem:hover{background:#7c3aed20;color:#fff}.chat-attachMenuIcon{font-size:16px;flex-shrink:0}.chat-input{order:1;flex:1;min-width:0;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:10px 16px;color:#fff;font-size:14px;font-family:inherit;line-height:1.5;min-height:42px;max-height:84px;resize:none;overflow-y:auto;transition:border-color .2s,box-shadow .2s}.chat-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.chat-input::placeholder{color:#64748b}.chat-input::-webkit-scrollbar{width:4px}.chat-input::-webkit-scrollbar-track{background:transparent}.chat-input::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:2px}.chat-sendBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;color:#fff;min-width:56px;min-height:42px;padding:10px 18px;font-size:18px;cursor:pointer;transition:all .2s;font-weight:600}@media (hover: none),(pointer: coarse){.chat-msgItemBody{align-items:center}.chat-msgReplyBtn,.chat-msgEmojiBtn,.chat-group--own .chat-msgReplyBtn,.chat-group--own .chat-msgEmojiBtn{position:static;transform:none;opacity:.75;padding:6px 8px}.chat-msgReplyBtn:active,.chat-msgEmojiBtn:active{opacity:1;background:#7c3aed20}}.chat-sendBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #7c3aed66}.chat-sendBtn:disabled{opacity:.5;cursor:not-allowed}.chat-sendIcon{display:inline-flex;align-items:center;justify-content:center}.chat-sendWrap{position:relative;flex-shrink:0;order:4}.chat-sendMenu{position:absolute;bottom:calc(100% + 8px);right:0;background:#1e2140;border:1px solid #7c3aed40;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:2px;min-width:180px;box-shadow:0 8px 24px #0006;z-index:10}.chat-sendMenuItem{display:flex;align-items:center;gap:10px;background:none;border:none;border-radius:7px;color:#cbd5e1;font-size:14px;padding:10px 14px;cursor:pointer;text-align:left;transition:background .15s,color .15s;white-space:nowrap;width:100%}.chat-sendMenuItem:hover{background:#7c3aed20;color:#fff}.chat-sendMenuIcon{font-size:16px;flex-shrink:0}.chat-dropOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#7c3aed1f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none}.chat-dropOverlayContent{background:#1e2140;border:2px dashed #7c3aed;border-radius:14px;padding:20px 32px;color:#a78bfa;font-size:16px;font-weight:500;box-shadow:0 8px 32px #0006;display:flex;align-items:center;gap:10px}.chat-imgOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000061;display:flex;align-items:flex-end;justify-content:space-between;padding:8px;opacity:0;transition:opacity .18s;border-radius:10px}.chat-imgWrapper:hover .chat-imgOverlay{opacity:1}.chat-imgActionBtn{background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;padding:4px 8px;cursor:pointer;transition:background .15s;line-height:1;display:inline-flex;align-items:center;justify-content:center}.chat-imgActionBtn:hover{background:#7c3aedbf}.chat-videoPlaceholder{display:flex;align-items:center;gap:10px;max-width:360px;padding:12px;border:1px solid rgba(124,58,237,.28);border-radius:10px;background:#0f1224;color:#e2e8f0}.chat-videoPlaceholderIcon{width:40px;height:40px;border-radius:10px;background:#7c3aed29;display:inline-flex;align-items:center;justify-content:center;color:#a78bfa;flex-shrink:0}.chat-videoPlaceholderInfo{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.chat-videoPlaceholderTitle{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-videoPlaceholderHint{font-size:12px;color:#8892b0}.chat-videoLoadBtn,.chat-videoInlineDownloadBtn{border:1px solid rgba(124,58,237,.4);border-radius:8px;background:#7c3aed29;color:#fff;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.chat-videoLoadBtn{padding:7px 10px;font-size:13px;font-weight:600}.chat-videoInlineDownloadBtn{padding:7px 8px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.chat-videoLoadBtn:hover:not(:disabled),.chat-videoInlineDownloadBtn:hover:not(:disabled){background:#7c3aed4d;border-color:#a78bfaa6}.chat-videoLoadBtn:disabled,.chat-videoInlineDownloadBtn:disabled{cursor:default;opacity:.6}.chat-videoWrapper{position:relative;border-radius:10px;overflow:hidden;max-width:320px;background:#0f1224;line-height:0}.chat-videoPlayer{display:block;width:100%;max-width:320px;max-height:260px;border-radius:10px;background:#0f1224}.chat-videoLoadBtn{width:min(320px,72vw);min-height:180px;border:1px solid rgba(124,58,237,.35);border-radius:10px;background:linear-gradient(135deg,#151a35,#101426);color:#c4b5fd;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px 42px 18px 18px;text-align:center;line-height:1.25;transition:background .15s,border-color .15s,color .15s}.chat-videoLoadBtn:hover:not(:disabled),.chat-videoLoadBtn:focus-visible{background:linear-gradient(135deg,#1d2450,#141936);border-color:#a78bfaa6;color:#ede9fe}.chat-videoLoadBtn:disabled{cursor:wait;opacity:.78}.chat-videoName,.chat-videoSize,.chat-videoError{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-videoName{color:#94a3b8;font-size:12px}.chat-videoSize{color:#64748b;font-size:12px}.chat-videoError{color:#fca5a5;font-size:12px}.chat-videoDownloadBtn{position:absolute;top:8px;right:8px;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;padding:4px 8px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s,background .15s}.chat-videoWrapper:hover .chat-videoDownloadBtn,.chat-videoDownloadBtn:focus-visible{opacity:1}.chat-videoDownloadBtn:hover{background:#7c3aedbf}.chat-fileMsg{display:flex;align-items:center;gap:8px;padding:4px 0}.chat-fileIcon{flex-shrink:0;display:inline-flex}.chat-fileMsgInfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-fileName{color:#f0eaff;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-fileSize{color:#d1ddef;font-size:11px}.chat-downloadBtn{background:none;border:1px solid #7c3aed40;border-radius:6px;color:#a78bfa;font-size:14px;padding:4px 8px;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s;line-height:1;display:inline-flex;align-items:center;justify-content:center}.chat-downloadBtn:hover:not(:disabled){background:#7c3aed20;color:#c4b5fd}.chat-downloadBtn:disabled{opacity:.5;cursor:not-allowed}.chat-fileUploading{color:#a78bfa;font-size:12px;flex-shrink:0;animation:chat-pulse 1.5s ease-in-out infinite}@keyframes chat-pulse{0%,to{opacity:.8}50%{opacity:.3}}.chat-replyBar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#0f1229;border-top:1px solid #7c3aed25}.chat-replyBarContent{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.chat-replyBarLabel{color:#7c3aed;flex-shrink:0;display:inline-flex}.chat-replyBarBody{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.chat-replyBarAuthor{color:#a78bfa;font-size:12px;font-weight:500}.chat-replyBarText{color:#8892b0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-replyBarClose{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:4px;border-radius:4px;flex-shrink:0;transition:color .15s}.chat-replyBarClose:hover{color:#ef4444}@keyframes groupHighlight{0%,25%{background:#7c3aed1f;border-radius:12px}to{background:transparent;border-radius:12px}}.chat-group--highlighted{animation:groupHighlight 2s ease both}.chat-msgReplyQuote{display:flex;flex-direction:column;gap:1px;padding:5px 10px;margin-bottom:6px;border-left:3px solid #7c3aed80;background:#7c3aed14;border-radius:0 4px 4px 0;cursor:pointer;transition:background .15s}.chat-msgReplyQuote:hover{background:#7c3aed26}.chat-group--own .chat-msgReplyQuote{border-left-color:#ffffff59;background:#ffffff12}.chat-msgReplyQuoteAuthor{color:#a78bfa;font-size:11px;font-weight:500}.chat-group--own .chat-msgReplyQuoteAuthor{color:#ffffffbf}.chat-msgReplyQuoteText{color:#8892b0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.chat-group--own .chat-msgReplyQuoteText{color:#ffffff8c}.chat-e2eeBadge{border:1px solid #38bdf850;cursor:pointer}button.chat-e2eeBadge{font-family:inherit}.chat-e2eeBadge--warn{color:#fcd34d;background:#3b2f12;border-color:#f59e0b66}.chat-devicesOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px}.chat-devicesPanel{width:min(620px,100%);max-height:min(720px,90vh);overflow:hidden;background:#0f1229;border:1px solid #7c3aed40;border-radius:14px;box-shadow:0 24px 80px #0000008c;display:flex;flex-direction:column}.chat-devicesHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #7c3aed20}.chat-devicesHeader h3{color:#fff;font-size:17px;margin:0}.chat-devicesHeader button{background:none;border:1px solid #7c3aed30;border-radius:8px;color:#cbd5e1;cursor:pointer;padding:6px 8px}.chat-devicesSummary{color:#c4b5fd;font-size:13px;padding:10px 18px;border-bottom:1px solid #7c3aed15}.chat-devicesList{overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.chat-deviceUser{background:#151936;border:1px solid #7c3aed20;border-radius:10px;padding:12px}.chat-deviceUserName{color:#e2e8f0;font-size:14px;font-weight:800;margin-bottom:10px;display:flex;flex-direction:column;gap:2px}.chat-deviceUserName span,.chat-deviceInfo span,.chat-devicesEmpty{color:#64748b;font-size:12px;font-weight:500}.chat-deviceRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #ffffff08}.chat-deviceInfo{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-deviceInfo strong{color:#f8fafc;font-size:13px}.chat-deviceInfo span{font-family:monospace;word-break:break-all}.chat-deviceActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-deviceActions button{background:#1e3a5f;border:1px solid #38bdf850;border-radius:7px;color:#bae6fd;cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.chat-deviceActions button:disabled{cursor:not-allowed;opacity:.6}.chat-trustBadge{border-radius:999px;font-size:11px;font-weight:800;padding:4px 8px;white-space:nowrap}.chat-trustBadge--verified{background:#052e1b;border:1px solid #22c55e55;color:#86efac}.chat-trustBadge--cross_signed{background:#0b2540;border:1px solid #3b82f655;color:#93c5fd}.chat-trustBadge--unverified,.chat-trustBadge--unknown{background:#3b2f12;border:1px solid #f59e0b55;color:#fcd34d}.chat-trustBadge--blocked{background:#3b1111;border:1px solid #ef444455;color:#fca5a5}.colorpicker-root{position:relative;display:inline-block}.colorpicker-trigger{display:flex;align-items:center;gap:8px;background:#1e2140;border:1px solid #7c3aed30;border-radius:8px;padding:7px 12px;cursor:pointer;color:#e2e8f0;font-size:13px;transition:border-color .2s,box-shadow .2s;min-width:130px}.colorpicker-trigger:hover{border-color:#7c3aed60}.colorpicker-trigger:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.colorpicker-swatch{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.colorpicker-hex{flex:1;font-family:Courier New,monospace;font-size:13px;letter-spacing:.04em}.colorpicker-arrow{color:#64748b;font-size:9px;flex-shrink:0}.colorpicker-panel{position:absolute;top:calc(100% + 6px);left:0;background:#13172e;border:1px solid #7c3aed30;border-radius:12px;padding:14px;z-index:100;width:240px;box-shadow:0 12px 40px #00000080;animation:colorpickerIn .15s ease both}@keyframes colorpickerIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.colorpicker-presets{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}.colorpicker-preset{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.colorpicker-preset:hover{transform:scale(1.2);border-color:#ffffff80}.colorpicker-preset--active{border-color:#fff;transform:scale(1.15);box-shadow:0 0 0 2px #7c3aed80}.colorpicker-hexRow{display:flex;align-items:center;gap:6px;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:6px 10px}.colorpicker-hexLabel{color:#64748b;font-family:Courier New,monospace;font-size:13px;flex-shrink:0}.colorpicker-hexInput{flex:1;background:none;border:none;outline:none;color:#e2e8f0;font-family:Courier New,monospace;font-size:13px;letter-spacing:.04em;min-width:0}.colorpicker-hexInput::placeholder{color:#4a5568}.colorpicker-hexPreview{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.profile-container{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background:#0f1229;border-right:1px solid #7c3aed15;display:flex;flex-direction:column;overflow:hidden;transform:translate(-100%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s ease}.profile-container.profile-open{transform:translate(0);opacity:1;pointer-events:auto}.profile-header{padding:16px;border-bottom:1px solid #7c3aed15;display:flex;align-items:center;gap:12px}.profile-backBtn{background:none;border:none;color:#7c3aed;font-size:16px;cursor:pointer;padding:4px;transition:transform .2s,color .2s;font-weight:600;display:inline-flex;align-items:center;gap:6px}.profile-backBtn:hover{transform:translate(-3px);color:#9c6dff}.profile-header h2{color:#fff;font-size:18px;font-weight:600;margin:0;flex:1}.profile-content{flex:1;padding:24px 16px;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.profile-avatarSection{display:flex;justify-content:center;padding-bottom:12px;border-bottom:1px solid #7c3aed15}.profile-avatarWrapper{position:relative;width:80px;height:80px;cursor:pointer;border-radius:12px;overflow:hidden}.profile-avatarWrapper:hover .profile-avatarOverlay{opacity:1}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;box-shadow:0 8px 24px #7c3aed59}.profile-avatarImg{width:80px;height:80px;border-radius:12px;object-fit:cover;display:block}.profile-avatarOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:600;opacity:0;transition:opacity .2s;border-radius:12px;text-align:center;gap:5px}.profile-infoSection{display:flex;flex-direction:column;gap:16px}.profile-infoField{display:flex;flex-direction:column;gap:8px}.profile-infoField label{color:#94a3b8;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.9px}.profile-infoValueRow{display:flex;align-items:center;gap:8px}.profile-infoValue{flex:1;color:#fff;font-size:14px;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:10px 12px;word-break:break-all;transition:border-color .2s}.profile-infoValue--muted{color:#8892b0;font-size:12px}.profile-infoValue:hover{border-color:#7c3aed40}.profile-infoValue--copyable{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-infoValue--copyable:hover{border-color:#7c3aed60;background:#252847}.profile-copyHint{font-size:11px;color:#4a5568;white-space:nowrap;flex-shrink:0;transition:color .2s;display:inline-flex;align-items:center;gap:4px}.profile-infoValue--copyable:hover .profile-copyHint{color:#7c3aed}.profile-copyHint--visible{color:#22c55e!important}.profile-placeholder{color:#4a5568;font-style:italic}.profile-editBtn{background:none;border:1px solid #7c3aed30;border-radius:6px;color:#7c3aed;font-size:16px;cursor:pointer;padding:6px 10px;transition:background .2s,border-color .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.profile-editBtn:hover{background:#7c3aed20;border-color:#7c3aed50}.profile-editRow{display:flex;gap:6px;align-items:center}.profile-editInput{flex:1;background:#1e2140;border:1px solid #7c3aed;border-radius:8px;padding:10px 12px;color:#fff;font-size:14px;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.profile-saveBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:6px;color:#fff;font-size:16px;cursor:pointer;padding:8px 12px;transition:opacity .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.profile-saveBtn:disabled{opacity:.5;cursor:not-allowed}.profile-cancelBtn{background:none;border:1px solid #dc262640;border-radius:6px;color:#dc2626;font-size:14px;cursor:pointer;padding:8px 10px;transition:background .2s;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.profile-cancelBtn:hover{background:#dc262615}.profile-colorRow{display:flex;align-items:center;gap:10px;background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:8px 12px}.profile-colorSwatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.15);flex-shrink:0;pointer-events:none}.profile-colorInput{width:32px;height:28px;border:none;border-radius:6px;cursor:pointer;padding:0;background:none;flex-shrink:0}.profile-colorInput::-webkit-color-swatch-wrapper{padding:0}.profile-colorInput::-webkit-color-swatch{border:none;border-radius:5px}.profile-colorHex{flex:1;color:#8892b0;font-size:13px;font-family:monospace}.profile-colorReset{background:none;border:1px solid #7c3aed30;border-radius:6px;color:#7c3aed;font-size:12px;padding:3px 8px;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.profile-colorReset:hover{background:#7c3aed20}.profile-notifRow{background:#1e2140;border:1px solid #7c3aed20;border-radius:8px;padding:10px 12px;display:flex;align-items:center}.profile-notifStatus{color:#8892b0;font-size:13px}.profile-notifStatus--denied{color:#f87171}.profile-notifRequestBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer;transition:opacity .2s}.profile-notifRequestBtn:hover{opacity:.88}.profile-notifToggle{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:0;width:100%}.profile-notifToggleThumb{position:relative;width:40px;height:22px;background:#374151;border-radius:11px;flex-shrink:0;transition:background .2s}.profile-notifToggleThumb:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.profile-notifToggle--on .profile-notifToggleThumb{background:#7c3aed}.profile-notifToggle--on .profile-notifToggleThumb:after{transform:translate(18px)}.profile-notifToggleLabel{color:#fff;font-size:14px}.profile-groupBox{background:#1e2140;border:1px solid #7c3aed20;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:12px}.profile-groupBox--encryption{box-shadow:inset 0 0 0 1px #7c3aed1f}.profile-groupBox--sessions{background:#1a1e3b}.profile-groupHeader{color:#c4b5fd;font-size:12px;font-weight:700;letter-spacing:.35px}.profile-groupHeader--nested{color:#a5b4fc;font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px}.profile-deviceRow{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#94a3b8;font-size:13px}.profile-deviceRow strong{color:#e2e8f0;font-size:12px;text-align:right;word-break:break-all}.profile-cryptoState--ready{color:#86efac!important}.profile-cryptoState--initializing{color:#bae6fd!important}.profile-cryptoState--error{color:#fca5a5!important}.profile-deviceError{color:#fca5a5;font-size:12px;line-height:1.35}.profile-deviceHint{color:#64748b;font-size:12px;line-height:1.35}.profile-logoutBtn{margin-top:auto;background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.profile-logoutBtn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #dc26264d}.profile-logoutBtn:active{transform:translateY(0)}.profile-devicesList{display:flex;flex-direction:column;gap:8px}.profile-deviceCard{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid #7c3aed20;border-radius:8px;background:#151936}.profile-deviceCardMain{min-width:0;display:flex;flex-direction:column;gap:4px}.profile-deviceName{color:#e2e8f0;font-size:13px;font-weight:700;display:flex;align-items:center;gap:6px}.profile-deviceCurrent{color:#86efac;border:1px solid #22c55e50;border-radius:999px;font-size:10px;padding:2px 6px;text-transform:uppercase}.profile-deviceId,.profile-deviceFingerprint{color:#64748b;font-family:monospace;font-size:11px;word-break:break-all}.profile-deviceCardActions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.profile-trustBadge{border-radius:999px;font-size:11px;font-weight:700;padding:4px 8px;white-space:nowrap}.profile-trustBadge--verified{background:#052e1b;border:1px solid #22c55e55;color:#86efac}.profile-trustBadge--cross_signed{background:#0b2540;border:1px solid #3b82f655;color:#93c5fd}.profile-trustBadge--unverified,.profile-trustBadge--unknown{background:#3b2f12;border:1px solid #f59e0b55;color:#fcd34d}.profile-trustBadge--blocked{background:#3b1111;border:1px solid #ef444455;color:#fca5a5}.profile-verifyBtn{background:#1e3a5f;border:1px solid #38bdf850;border-radius:7px;color:#bae6fd;cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.profile-verifyBtn:disabled{cursor:not-allowed;opacity:.6}.profile-logoutBtn--danger{background:linear-gradient(135deg,#ef4444,#b91c1c)}.profile-logoutBtn--danger:hover{box-shadow:0 10px 25px #ef444459}.profile-recoveryBox{border-top:1px solid #7c3aed20;display:flex;flex-direction:column;gap:8px;margin-top:2px;padding-top:10px}.profile-recoveryState--ready{color:#86efac!important}.profile-recoveryState--not_configured,.profile-recoveryState--needs_recovery{color:#fcd34d!important}.profile-recoveryState--error{color:#fca5a5!important}.profile-recoveryActions{display:grid;gap:8px;grid-template-columns:1fr;margin-top:4px}.profile-recoveryBtn{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 10px;transition:opacity .2s,transform .2s}.profile-recoveryBtn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.profile-recoveryBtn:disabled{cursor:not-allowed;opacity:.45}.profile-recoveryBtn--ghost{background:transparent;border:1px solid #7c3aed45;color:#a78bfa}.profile-recoveryKeyPanel{display:flex;flex-direction:column;gap:8px;margin:8px 0;padding:10px;border:1px solid #7c3aed45;border-radius:8px;background:#15112b}.profile-recoveryKeyValue{display:block;word-break:break-all;font-family:monospace;font-size:13px;color:#e9d5ff;background:#0f0c20;border-radius:6px;padding:8px 10px}.profile-recoveryInput{width:100%;box-sizing:border-box;background:#0f0c20;border:1px solid #7c3aed45;border-radius:6px;color:#f1f5f9;font-size:13px;padding:8px 10px}.profile-recoveryKeyActions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.profile-recoveryReveal{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#a78bfa;cursor:pointer}.profile-recoveryBtn--primary{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 0 0 1px #86efac59}.app{width:100%;height:100vh;height:100dvh}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100vh;height:100dvh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);color:#fff;gap:16px}.app-spinner{width:40px;height:40px;border:3px solid #7c3aed30;border-top-color:#7c3aed;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-mainLayout{display:flex;width:100%;height:100vh;height:100dvh}.app-sidebar{position:relative;width:var(--sidebar-width, 320px);height:100vh;height:100dvh;flex-shrink:0;overflow:hidden}.app-sidebarResizeHandle{position:absolute;top:0;right:0;z-index:15;width:8px;height:100%;cursor:col-resize}.app-sidebarResizeHandle:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background:transparent;transition:background .15s}.app-sidebarResizeHandle:hover:after,.app-resizingSidebar .app-sidebarResizeHandle:after{background:#7c3aed80}.app-resizingSidebar{cursor:col-resize;-webkit-user-select:none;user-select:none}.app-backdrop{position:fixed;top:0;bottom:0;left:var(--sidebar-width, 320px);right:0;background:#00000073;z-index:5;cursor:pointer;animation:backdropIn .22s ease forwards}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.app-sidebar{width:100%;flex-shrink:0}.app-sidebarResizeHandle,.app-sidebar--hidden{display:none}.app-backdrop{left:0}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;background:#0a0e27;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow:hidden}button,input,textarea,select{font-family:inherit}.ui-icon{display:inline-block;flex-shrink:0;vertical-align:middle}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7c3aed40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#7c3aed60}@supports (scrollbar-width: thin){*{scrollbar-width:thin;scrollbar-color:#7c3aed40 transparent}}
