:root{--bg-primary: #fff0f5;--bg-secondary: #ffe4e1;--bg-tertiary: #ffffff;--bg-hover: #ffb6c1;--bg-active: #ff69b4;--bg-input: #ffffff;--bg-modal: #fff0f5;--bg-message-out: #dcf8c6;--bg-message-in: #ffffff;--bg-message-out-hover: #cbf0b4;--bg-message-in-hover: #f5f5f5;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--text-link: #ff1493;--text-accent: #ff1493;--text-time: #888888;--text-online: #4caf50;--accent: #ff69b4;--accent-hover: #ff1493;--accent-dark: #c71585;--accent-bg: rgba(255, 105, 180, .12);--badge-bg: #ff1493;--badge-muted: #ffb6c1;--badge-text: #ffffff;--border-color: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .5);--scrollbar-bg: transparent;--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .25);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 380px;--header-height: 64px;--input-height: 64px;--titlebar-height: 32px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 50%}[data-theme=dark]{--bg-primary: #17212b;--bg-secondary: #0e1621;--bg-tertiary: #1e2c3a;--bg-hover: #253443;--bg-active: #2b5278;--bg-input: #242f3d;--bg-modal: #17212b;--bg-message-out: #2b5278;--bg-message-in: #182533;--bg-message-out-hover: #3a6a94;--bg-message-in-hover: #1e2c3a;--text-primary: #f5f5f5;--text-secondary: #8696a7;--text-tertiary: #6c7883;--text-link: #6ab2f2;--text-accent: #6ab2f2;--text-time: #6c7883;--text-online: #4dcd5e;--accent: #6ab2f2;--accent-hover: #5a9ed6;--accent-dark: #3d7ab5;--accent-bg: rgba(106, 178, 242, .12);--badge-bg: #6ab2f2;--badge-muted: #3d5468;--badge-text: #ffffff;--border-color: rgba(255, 255, 255, .06);--border-light: rgba(255, 255, 255, .03);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .7);--scrollbar-thumb: rgba(255, 255, 255, .12);--scrollbar-thumb-hover: rgba(255, 255, 255, .2)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;transition:background-color .3s ease,color .3s ease}[data-theme=dark] .chat-item.active{background:linear-gradient(135deg,#2b5278,#3a6a94);box-shadow:0 8px 24px #2b527866}[data-theme=dark] .pin-lock-overlay{background:#0e1621f7}[data-theme=dark] .login-screen{background:var(--bg-primary)}a{color:var(--text-link);text-decoration:none}button{font-family:inherit;border:none;outline:none;cursor:pointer;background:none;color:inherit}input,textarea{font-family:inherit;border:none;outline:none;background:none;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.titlebar{display:flex;align-items:center;justify-content:flex-end;height:var(--titlebar-height);background:var(--bg-secondary);-webkit-app-region:drag;position:fixed;top:0;left:0;right:0;z-index:9999}.titlebar-buttons{display:flex;-webkit-app-region:no-drag}.titlebar-btn{width:46px;height:var(--titlebar-height);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);color:var(--text-secondary)}.titlebar-btn:hover{background:#ffffff14}.titlebar-btn.close:hover{background:#e81123;color:#fff}.titlebar-btn svg{width:12px;height:12px}.app{display:flex;height:100vh;padding-top:var(--titlebar-height)}.app-container{display:flex;width:100%;height:100%}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg-primary);padding:40px}.login-logo{width:120px;height:120px;background:linear-gradient(135deg,var(--accent),#5b85aa);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:32px;box-shadow:0 8px 32px #6ab2f233;animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{transform:scale(1);box-shadow:0 8px 32px #6ab2f233}50%{transform:scale(1.03);box-shadow:0 12px 40px #6ab2f24d}}.login-logo svg{width:56px;height:56px;fill:#fff}.login-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,var(--text-primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:40px;text-align:center}.login-form{display:flex;flex-direction:column;width:100%;max-width:360px;gap:16px}.login-input-group{position:relative}.login-input{width:100%;height:52px;padding:0 16px;background:var(--bg-input);border:2px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-lg);color:var(--text-primary);transition:border-color var(--transition-fast)}.login-input:focus{border-color:var(--accent)}.login-input::placeholder{color:var(--text-tertiary)}.login-btn{height:52px;background:var(--accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:600;transition:all var(--transition-fast);position:relative;overflow:hidden}.login-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #6ab2f24d}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#e53935;font-size:var(--font-size-sm);text-align:center;padding:12px;background:#e539351a;border-radius:var(--radius-sm)}.login-step-info{font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:center}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 12px;gap:8px;border-bottom:1px solid var(--border-light);flex-shrink:0}.sidebar-menu-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background var(--transition-fast);color:var(--text-secondary)}.sidebar-menu-btn:hover{background:var(--bg-hover)}.search-bar{flex:1;position:relative}.search-bar input{width:100%;height:40px;padding:0 16px 0 40px;background:var(--bg-input);border-radius:var(--radius-xl);font-size:var(--font-size-md);color:var(--text-primary);transition:all var(--transition-fast)}.search-bar input:focus{background:var(--bg-tertiary)}.search-bar input::placeholder{color:var(--text-tertiary)}.search-bar-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-tertiary);pointer-events:none}.chat-list{flex:1;overflow-y:auto;overflow-x:hidden}.chat-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-tertiary);font-size:var(--font-size-md);gap:12px}.chat-item{display:flex;align-items:center;padding:12px 14px;margin:8px 12px;gap:14px;cursor:pointer;transition:all var(--transition-fast);position:relative;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.chat-item:hover{background:var(--bg-hover);transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-md);z-index:10;border-color:var(--accent)}.chat-item.active{background:linear-gradient(135deg,var(--bg-active),var(--accent));border-color:transparent;color:#fff;box-shadow:0 8px 24px #ff69b44d}.chat-item.active .chat-name,.chat-item.active .chat-time,.chat-item.active .chat-last-message{color:#fff}.chat-item.active .chat-last-message .sender{color:#fff0f5;font-weight:700}.chat-item.pinned:before{content:"";position:absolute;top:15%;left:0;width:4px;height:70%;background:var(--accent);border-radius:0 4px 4px 0}.chat-avatar{width:48px;height:48px;border-radius:var(--radius-full);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:600;color:#fff;overflow:hidden;position:relative}.avatar-color-0{background-color:#e17076}.avatar-color-1{background-color:#f0825e}.avatar-color-2{background-color:#66a3e0}.avatar-color-3{background-color:#7bc862}.avatar-color-4{background-color:#8e85ee}.avatar-color-5{background-color:#e572af}.avatar-color-6{background-color:#6fb9f0}.avatar-color-7{background-color:#f1b34e}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.chat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.chat-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-name{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{font-size:var(--font-size-xs);color:var(--text-time);white-space:nowrap;flex-shrink:0}.chat-item.active .chat-time{color:#ffffffb3}.chat-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-last-message{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.chat-item.active .chat-last-message{color:#fff9}.chat-last-message .sender{color:var(--text-accent);font-weight:500}.chat-badge{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--badge-bg);color:var(--badge-text);font-size:var(--font-size-xs);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:badgePop .3s ease}.chat-badge.muted{background:var(--badge-muted)}@keyframes badgePop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);min-width:0;position:relative}.chat-area-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-tertiary)}.chat-area-empty svg{width:100px;height:100px;opacity:.3}.chat-area-empty p{font-size:var(--font-size-lg)}.chat-header{height:var(--header-height);display:flex;align-items:center;padding:0 16px;gap:12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.chat-header-info{flex:1;min-width:0}.chat-header-name{font-size:var(--font-size-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-status{font-size:var(--font-size-xs);color:var(--text-secondary)}.chat-header-status.online{color:var(--text-online)}.chat-header-actions{display:flex;gap:4px}.chat-header-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition-fast)}.chat-header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.messages-view{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;display:flex;flex-direction:column;-webkit-user-select:text!important;user-select:text!important}.messages-container{max-width:720px;width:100%;margin:0 auto;padding:0 16px;display:flex;flex-direction:column;gap:2px;-webkit-user-select:text!important;user-select:text!important}.messages-date-separator{display:flex;justify-content:center;padding:8px 0;margin:4px 0}.messages-date-label{padding:4px 12px;background:#0000004d;border-radius:var(--radius-lg);font-size:var(--font-size-xs);color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.messages-loading{display:flex;justify-content:center;padding:20px}.unread-separator{display:flex;align-items:center;gap:12px;padding:8px 0;margin:8px 0}.unread-separator:before,.unread-separator:after{content:"";flex:1;height:1px;background:var(--accent);opacity:.5}.unread-separator-label{padding:2px 12px;background:var(--accent-bg);border:1px solid var(--accent);border-radius:var(--radius-lg);font-size:var(--font-size-xs);color:var(--accent);font-weight:600;white-space:nowrap}.message-row{display:flex;margin:1px 0;-webkit-user-select:text!important;user-select:text!important}.message-row.outgoing{justify-content:flex-end}.message-row.incoming{justify-content:flex-start}.message-bubble{max-width:480px;min-width:80px;padding:12px 16px;border-radius:var(--radius-xl);position:relative;word-wrap:break-word;line-height:1.5;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);border:1px solid transparent;-webkit-user-select:text!important;user-select:text!important;cursor:text}.message-text{-webkit-user-select:text!important;user-select:text!important;cursor:text}.message-bubble:hover{box-shadow:var(--shadow-md);z-index:10}.message-row.outgoing .message-bubble{background:var(--bg-message-out);color:#333;border-bottom-right-radius:4px;border-color:#0000000d}.message-row.incoming .message-bubble{background:var(--bg-message-in);border-bottom-left-radius:4px;border-color:var(--border-light)}.message-row.outgoing .message-text,.message-row.outgoing .message-time,.message-row.outgoing .message-sender{color:#333}.message-row.outgoing .message-meta svg{stroke:#4caf50}.message-sender{font-size:var(--font-size-sm);font-weight:600;color:var(--accent);margin-bottom:2px}.story-bar-container{padding:10px 15px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;overflow-x:auto;gap:12px;scrollbar-width:none}.story-bar-container::-webkit-scrollbar{display:none}.story-item{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;flex-shrink:0;width:60px}.story-circle-wrapper{position:relative;width:56px;height:56px;border-radius:50%;padding:2px;background:linear-gradient(45deg,var(--accent-gradient-start),var(--accent-gradient-end))}.story-circle{width:100%;height:100%;border-radius:50%;background:var(--bg-primary);border:2px solid var(--bg-secondary);overflow:hidden;display:flex;align-items:center;justify-content:center}.story-circle img{width:100%;height:100%;object-fit:cover}.story-circle.self-story{background:var(--surface-color)}.add-story-icon{font-size:24px;color:var(--text-secondary)}.story-name{font-size:11px;color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.story-circle.skeleton{background:var(--surface-color);animation:pulse 1.5s infinite}.story-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center}.story-modal-content{position:relative;width:100%;max-width:400px;height:80vh;background:#000;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.story-progress-container{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px;z-index:10}.story-progress-bar{flex:1;height:2px;background:#ffffff4d;border-radius:2px;overflow:hidden}.story-progress-fill{height:100%;background:#fff;width:0%;transition:width linear}.story-header{position:absolute;top:20px;left:15px;right:15px;display:flex;justify-content:space-between;align-items:center;z-index:10;color:#fff}.story-user-info{display:flex;flex-direction:column;text-shadow:0 1px 3px rgba(0,0,0,.8)}.story-user-name{font-weight:600;font-size:14px}.story-time{font-size:12px;opacity:.8}.story-close-btn{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;text-shadow:0 1px 3px rgba(0,0,0,.8)}.story-media-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.story-media{width:100%;height:100%;object-fit:cover}.story-nav{position:absolute;top:0;bottom:0;width:50%;z-index:5}.story-nav.left{left:0}.story-nav.right{right:0}.story-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;z-index:10;text-shadow:0 1px 3px rgba(0,0,0,.8);font-size:14px}.message-text{font-size:var(--font-size-md);color:var(--text-primary);white-space:pre-wrap}.message-reply{padding:4px 8px;margin-bottom:4px;border-left:2px solid var(--accent);background:#ffffff0d;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.message-reply-name{color:var(--accent);font-weight:500;font-size:var(--font-size-xs)}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px;float:right;margin-left:12px;position:relative;top:4px}.message-time{font-size:var(--font-size-xs);color:var(--text-time);white-space:nowrap}.message-row.outgoing .message-time{color:#8d6e63}.message-check{display:flex;color:#4caf50}.message-check.read{color:var(--accent)}.message-check svg{width:16px;height:16px}.message-media{margin:4px -4px;border-radius:var(--radius-md);overflow:hidden;max-width:400px}.message-media img,.message-media video{max-width:100%;display:block;border-radius:var(--radius-md)}.message-document{display:flex;align-items:center;gap:10px;padding:8px;background:#ffffff0d;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.message-document:hover{background:#ffffff14}.message-document-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-document-info{min-width:0}.message-document-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-link);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-document-size{font-size:var(--font-size-xs);color:var(--text-tertiary)}.message-forwarded{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:4px;font-style:italic}.message-input-area{padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0}.message-input-container{max-width:720px;margin:0 auto;display:flex;align-items:flex-end;gap:8px}.message-input-wrapper{flex:1;min-height:44px;max-height:200px;display:flex;align-items:flex-end;background:var(--bg-input);border-radius:var(--radius-xl);padding:4px 8px;gap:4px}.message-input-attach{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-secondary);flex-shrink:0;transition:all var(--transition-fast)}.message-input-attach:hover{color:var(--text-primary);background:var(--bg-hover)}.message-textarea{flex:1;min-height:36px;max-height:180px;padding:8px 4px;font-size:var(--font-size-md);color:var(--text-primary);resize:none;line-height:1.4;overflow-y:auto}.message-textarea::placeholder{color:var(--text-tertiary)}.message-send-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--accent);color:#fff;flex-shrink:0;transition:all var(--transition-fast)}.message-send-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.message-send-btn:active{transform:scale(.95)}.message-send-btn:disabled{background:var(--bg-input);color:var(--text-tertiary);cursor:not-allowed;transform:none}.message-reply-bar{display:flex;align-items:center;padding:8px 16px;background:var(--bg-tertiary);border-radius:var(--radius-md) var(--radius-md) 0 0;gap:12px;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.message-reply-bar-content{flex:1;min-width:0;border-left:2px solid var(--accent);padding-left:8px}.message-reply-bar-name{font-size:var(--font-size-xs);font-weight:600;color:var(--accent)}.message-reply-bar-text{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-reply-bar-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition-fast)}.message-reply-bar-close:hover{background:var(--bg-hover);color:var(--text-primary)}.typing-indicator{display:flex;align-items:center;gap:4px;padding:4px 0;font-size:var(--font-size-xs);color:var(--accent)}.typing-dots{display:flex;gap:3px}.typing-dot{width:4px;height:4px;background:var(--accent);border-radius:var(--radius-full);animation:typingBounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner.sm{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.connection-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px;font-size:var(--font-size-xs);font-weight:500;animation:slideDown .3s ease}.connection-bar.connecting{background:#e8a317;color:#000}.connection-bar.disconnected{background:#e53935;color:#fff}.connection-bar.connected{background:#43a047;color:#fff;animation:slideDown .3s ease,fadeOut 2s ease 1s forwards}@keyframes fadeOut{to{opacity:0;height:0;padding:0;overflow:hidden}}.profile-panel{width:360px;height:100%;background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;animation:slideInRight .25s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.profile-header{padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}.profile-avatar{width:80px;height:80px;border-radius:var(--radius-full);overflow:hidden}.profile-name{font-size:var(--font-size-xl);font-weight:600}.profile-status{font-size:var(--font-size-sm);color:var(--text-secondary)}.operator-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 16px;background:#6ab2f214;font-size:var(--font-size-xs);color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.operator-bar-name{color:var(--accent);font-weight:500}.context-menu{position:fixed;min-width:180px;background:var(--bg-modal);border-radius:var(--radius-md);padding:6px 0;box-shadow:var(--shadow-lg);z-index:1000;animation:contextPop .15s ease}@keyframes contextPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:var(--font-size-md);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast)}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item.active-item{color:var(--accent);font-weight:600}.context-menu-item.danger{color:#e53935}.context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.avatar-color-0{background:linear-gradient(135deg,#ff6b6b,#c0392b)}.avatar-color-1{background:linear-gradient(135deg,#4fc3f7,#2196f3)}.avatar-color-2{background:linear-gradient(135deg,#81c784,#43a047)}.avatar-color-3{background:linear-gradient(135deg,#ffb74d,#fb8c00)}.avatar-color-4{background:linear-gradient(135deg,#ce93d8,#9c27b0)}.avatar-color-5{background:linear-gradient(135deg,#f06292,#e91e63)}.avatar-color-6{background:linear-gradient(135deg,#4db6ac,#00897b)}.avatar-color-7{background:linear-gradient(135deg,#9fa8da,#5c6bc0)}.file-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.file-preview-overlay img,.file-preview-overlay video{max-width:90vw;max-height:90vh;border-radius:var(--radius-md)}.file-preview-close{position:fixed;top:16px;right:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#ffffff1a;color:#fff;cursor:pointer;transition:background var(--transition-fast)}.file-preview-close:hover{background:#fff3}.pin-lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#0a0e14f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;animation:pinFadeIn .4s ease}@keyframes pinFadeIn{0%{opacity:0}to{opacity:1}}.pin-lock-container{display:flex;flex-direction:column;align-items:center;gap:16px;animation:pinSlideUp .5s ease}@keyframes pinSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.pin-lock-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--accent),#5b8def);color:#fff;box-shadow:0 8px 32px #6ab2f24d;margin-bottom:8px}.pin-lock-title{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:2px;margin:0}.pin-lock-subtitle{font-size:15px;color:var(--text-secondary);margin:0}.pin-lock-inputs{display:flex;gap:12px;margin:20px 0 8px}.pin-lock-inputs.shake{animation:pinShake .4s ease}@keyframes pinShake{0%,to{transform:translate(0)}20%{transform:translate(-12px)}40%{transform:translate(12px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}.pin-lock-digit{width:56px;height:64px;border:2px solid var(--border-color);border-radius:12px;background:#ffffff0d;color:var(--text-primary);font-size:28px;font-weight:700;text-align:center;outline:none;transition:all .2s ease;caret-color:var(--accent)}.pin-lock-digit:focus{border-color:var(--accent);background:#6ab2f214;box-shadow:0 0 0 3px #6ab2f226;transform:scale(1.05)}.pin-lock-digit:not(:placeholder-shown){border-color:var(--accent)}.pin-lock-error{color:#e74c3c;font-size:14px;font-weight:500;margin:4px 0 0;animation:pinFadeIn .3s ease}.pin-lock-hint{color:var(--text-tertiary);font-size:13px;margin:8px 0 0}.pin-lock-settings{margin-top:16px;position:relative}.pin-lock-settings-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffff0f;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.pin-lock-settings-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--accent)}.pin-lock-timeout-menu{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;min-width:180px;background:var(--bg-modal);border-radius:var(--radius-md);padding:6px 0;box-shadow:var(--shadow-lg);animation:contextPop .15s ease}.pin-lock-timeout-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:background .15s ease;width:100%;background:none;border:none}.pin-lock-timeout-item:hover{background:var(--bg-hover)}.pin-lock-timeout-item.active{color:var(--accent);font-weight:600}.lock-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#ffffff0f;color:var(--text-secondary);border:none;cursor:pointer;transition:all .2s ease;flex-shrink:0}.lock-btn:hover{background:#e5393526;color:#e53935;transform:scale(1.1)}.lock-btn:active{transform:scale(.95)}.emoji-picker-overlay{position:absolute;bottom:100%;left:0;margin-bottom:10px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle);overflow:hidden;display:flex;flex-direction:column;z-index:100;width:350px;animation:scaleIn .2s cubic-bezier(.175,.885,.32,1.275)}.picker-tabs{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.picker-tab{flex:1;padding:12px 0;background:none;border:none;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.picker-tab:hover{background:#0000000d}.picker-tab.active{color:var(--accent-primary);box-shadow:inset 0 -2px 0 var(--accent-primary)}.picker-content{display:flex;flex-direction:column;height:400px;background:var(--bg-primary)}.EmojiPickerReact{border:none!important;box-shadow:none!important;width:100%!important;height:100%!important;--epr-bg-color: var(--bg-primary) !important;--epr-category-label-bg-color: var(--bg-primary) !important}.picker-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--text-tertiary)}.picker-upload-btn{padding:10px 20px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.picker-upload-btn:hover{background:var(--accent-hover)}.video-record-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-record-circle{width:280px;height:280px;border-radius:50%;overflow:hidden;border:4px solid #e53935;box-shadow:0 0 40px #e5393566;animation:recordPulse 1.5s ease-in-out infinite}.video-record-preview{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.video-record-timer{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.video-record-dot{width:12px;height:12px;border-radius:50%;background:#e53935;animation:recordBlink 1s infinite}.video-record-actions{display:flex;gap:20px}.video-record-cancel,.video-record-stop{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius-lg);font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.video-record-cancel{background:#ffffff26;color:#fff}.video-record-cancel:hover{background:#ffffff40}.video-record-stop{background:var(--accent-primary);color:#fff}.video-record-stop:hover{background:var(--accent-hover)}.video-record-stop svg{width:18px;height:18px;fill:#fff}.message-send-btn.video-btn{background:transparent;color:var(--text-secondary)}.message-send-btn.video-btn:hover{color:var(--accent-primary);background:#ff69b41a}@keyframes recordPulse{0%,to{box-shadow:0 0 40px #e539354d}50%{box-shadow:0 0 60px #e5393599}}@keyframes recordBlink{0%,to{opacity:1}50%{opacity:.2}}.audio-circle{background:#e539351a;display:flex;align-items:center;justify-content:center;color:#e53935}.audio-pulse{width:100px;height:100px;border-radius:50%;background:#e5393533;display:flex;align-items:center;justify-content:center;animation:pulseMic 1.5s infinite}.audio-pulse svg{width:40px;height:40px}@keyframes pulseMic{0%{transform:scale(1);box-shadow:0 0 #e5393566}70%{transform:scale(1.1);box-shadow:0 0 0 20px #e5393500}to{transform:scale(1);box-shadow:0 0 #e5393500}}.global-audio-player{position:absolute;top:0;left:0;right:0;height:50px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;gap:12px;z-index:100;box-shadow:0 2px 10px #0000000d;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.gap-play-btn,.gap-close-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-tertiary);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.gap-play-btn:hover,.gap-close-btn:hover{background:var(--accent-primary);color:#fff}.gap-info{flex:1;display:flex;flex-direction:column;gap:4px}.gap-title{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1}.gap-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.gap-context{color:var(--text-tertiary);font-size:11px}.gap-progress-container{height:12px;display:flex;align-items:center;cursor:pointer}.gap-progress-bg{width:100%;height:4px;background:var(--border-color);border-radius:2px;overflow:hidden}.gap-progress-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .1s linear}.gap-time{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.custom-audio-player{display:flex;align-items:center;gap:10px;width:250px;background:#00000008;padding:8px;border-radius:12px}.ca-play-btn{width:40px;height:40px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .1s}.ca-play-btn:active{transform:scale(.95)}.ca-waveform-container{flex:1;display:flex;flex-direction:column;gap:4px;cursor:pointer}.ca-waveform{display:flex;align-items:center;gap:2px;height:24px;width:100%}.waveform-bar{flex:1;background:var(--border-color);border-radius:1px;transition:background .2s}.waveform-bar.active{background:var(--text-primary)}.ca-time{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
