:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--sidebar-width: 400px;--header-height: 60px;--footer-height: 64px;--transition-speed: .2s;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 9999px;--accent-teal: #00A884;--accent-teal-hover: #02906F;--accent-teal-subtle: rgba(0, 168, 132, .15);--accent-rgb: 0, 168, 132;--bubble-sent: #005C4B;--bubble-sent-text: #E9EDEF;--bubble-sent-border: transparent;--accent-gradient: linear-gradient(135deg, #00A884, #02906F)}body.theme-dark{--bg-app: #0D1418;--bg-panel: #111B21;--bg-panel-header: #202C33;--bg-panel-hover: #202C33;--bg-active: #2A3942;--bg-input: #2A3942;--border-color: #222E35;--text-primary: #E9EDEF;--text-secondary: #8696A0;--text-muted: #667781;--bubble-received: #202C33;--bubble-received-text: #E9EDEF;--tick-gray: #8696A0;--tick-blue: #53BDEB;--doodle-bg: #0B141B;--doodle-color: rgba(255, 255, 255, .055);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--modal-overlay: rgba(0, 0, 0, .75)}body.theme-light{--bg-app: #F0F2F5;--bg-panel: #FFFFFF;--bg-panel-header: #F0F2F5;--bg-panel-hover: #F5F6F6;--bg-active: #E9EDEF;--bg-input: #F0F2F5;--border-color: #E9EDEF;--text-primary: #111B21;--text-secondary: #667781;--text-muted: #8696A0;--bubble-received: #FFFFFF;--bubble-received-text: #111B21;--tick-gray: #8696A0;--tick-blue: #53BDEB;--doodle-bg: #EFEAE2;--doodle-color: rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--modal-overlay: rgba(0, 0, 0, .5)}body.theme-amoled{--bg-app: #000000;--bg-panel: #000000;--bg-panel-header: #0B0B0B;--bg-panel-hover: #141414;--bg-active: #1C1C1C;--bg-input: #121212;--border-color: #1F1F1F;--text-primary: #FFFFFF;--text-secondary: #A0A0A0;--text-muted: #6E6E6E;--bubble-received: #141414;--bubble-received-text: #FFFFFF;--tick-gray: #A0A0A0;--tick-blue: #53BDEB;--doodle-bg: #000000;--doodle-color: rgba(255, 255, 255, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .6);--shadow-md: 0 4px 16px rgba(0, 0, 0, .7);--modal-overlay: rgba(0, 0, 0, .88)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased}#app{width:100vw;height:100vh;display:flex;flex-direction:column}button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;outline:none;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-speed)}input,textarea{background:none;border:none;color:inherit;font:inherit;outline:none}.material-symbols-rounded{font-family:Material Symbols Rounded,sans-serif;font-weight:400;font-style:normal;font-size:22px;line-height:1;display:inline-block;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none;vertical-align:middle}.material-symbols-rounded.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.material-symbols-rounded.icon-sm{font-size:18px}.material-symbols-rounded.icon-lg{font-size:28px}.brand-logo-img{width:44px;height:44px;border-radius:12px;box-shadow:0 4px 14px #00000040;object-fit:cover;transition:transform .2s ease}.brand-logo-img:hover{transform:scale(1.05)}.empty-state-logo{width:96px;height:96px;border-radius:24px;box-shadow:0 10px 28px #00000040;margin-bottom:20px;object-fit:cover;animation:none!important;transform:none!important}.pairing-container{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--bg-app);overflow-y:auto}.pairing-top-strip{width:100%;height:180px;background-color:var(--accent-teal);display:flex;align-items:flex-start;padding:24px 48px}.pairing-brand{display:flex;align-items:center;gap:14px}.pairing-logo{width:38px;height:38px;object-fit:contain;border-radius:var(--radius-sm)}.pairing-brand-name{font-size:20px;font-weight:700;letter-spacing:.5px;color:#fff}.pairing-card-wrapper{flex:1;display:flex;justify-content:center;align-items:flex-start;margin-top:-85px;padding:0 24px 48px}.pairing-card{width:100%;max-width:980px;background-color:var(--bg-panel);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--border-color);padding:48px;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}.pairing-steps-section h1{font-size:26px;font-weight:600;margin-bottom:24px;color:var(--text-primary)}.pairing-steps{list-style:none;counter-reset:pairing-counter;display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.pairing-steps li{counter-increment:pairing-counter;display:flex;align-items:flex-start;gap:16px;font-size:16px;line-height:1.5;color:var(--text-secondary)}.pairing-steps li:before{content:counter(pairing-counter);flex-shrink:0;width:28px;height:28px;border-radius:50%;background-color:var(--accent-teal-subtle);color:var(--accent-teal);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:14px}.pairing-steps strong{color:var(--text-primary)}.pairing-qr-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.qr-box{position:relative;background-color:#fff;padding:16px;border-radius:var(--radius-md);box-shadow:0 4px 20px #00000026;display:flex;align-items:center;justify-content:center;min-width:260px;min-height:260px}.qr-box canvas,.qr-box img{width:240px!important;height:240px!important;display:block}.qr-scan-line{position:absolute;top:16px;left:16px;right:16px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-teal),transparent);box-shadow:0 0 8px var(--accent-teal);animation:scan 2.5s infinite ease-in-out}@keyframes scan{0%{top:16px;opacity:0}50%{opacity:1}to{top:256px;opacity:0}}.qr-status-text{font-size:13.5px;color:var(--text-muted);text-align:center;display:flex;align-items:center;gap:8px}.pulse-dot{width:8px;height:8px;border-radius:50%;background-color:var(--accent-teal);animation:pulse 1.8s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #00a884b3}70%{transform:scale(1.1);box-shadow:0 0 0 8px #00a88400}to{transform:scale(.95);box-shadow:0 0 #00a88400}}.apk-download-banner{margin-top:16px;padding:16px 20px;background-color:var(--bg-input);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:16px}.apk-info{display:flex;align-items:center;gap:12px}.apk-info-icon{font-size:24px}.apk-info-title{font-size:14.5px;font-weight:600;color:var(--text-primary)}.apk-info-desc{font-size:12.5px;color:var(--text-secondary)}.btn-download{background-color:var(--accent-teal);color:#fff;padding:8px 16px;border-radius:var(--radius-pill);font-size:13.5px;font-weight:600;gap:8px;white-space:nowrap}.btn-download:hover{background-color:var(--accent-teal-hover);transform:translateY(-1px)}.main-layout{display:flex;width:100vw;height:100vh;overflow:hidden;background-color:var(--bg-app)}.sidebar{width:var(--sidebar-width);min-width:340px;max-width:480px;height:100%;display:flex;flex-direction:column;background-color:var(--bg-panel);border-right:1px solid var(--border-color);z-index:10}.sidebar-header{height:var(--header-height);padding:10px 16px;background-color:var(--bg-panel-header);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.user-profile{display:flex;align-items:center;gap:12px;cursor:pointer}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background-color:var(--accent-teal);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.user-details{display:flex;flex-direction:column}.user-name{font-size:14.5px;font-weight:600;color:var(--text-primary)}.user-status-pill{font-size:11.5px;color:var(--accent-teal);display:flex;align-items:center;gap:4px}.sidebar-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;padding:0;margin:0;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .2s ease}.icon-btn:hover{background-color:var(--bg-panel-hover);color:var(--text-primary)}.icon-btn .material-symbols-rounded,.call-btn .material-symbols-rounded{font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}.search-container{padding:8px 12px;border-bottom:1px solid var(--border-color);background-color:var(--bg-panel)}.search-box{display:flex;align-items:center;gap:12px;background-color:var(--bg-input);padding:7px 14px;border-radius:var(--radius-sm);color:var(--text-secondary)}.search-box input{flex:1;font-size:14px;color:var(--text-primary)}.search-box input::placeholder{color:var(--text-muted)}.chat-list{flex:1;overflow-y:auto;overflow-x:hidden}.chat-item{display:flex;align-items:center;gap:14px;padding:12px 16px;cursor:pointer;transition:background var(--transition-speed);border-bottom:1px solid rgba(255,255,255,.03)}.chat-item:hover{background-color:var(--bg-panel-hover)}.chat-item.active{background-color:var(--bg-active);border-left:4px solid var(--accent-teal)}.chat-avatar-wrapper{position:relative;flex-shrink:0}.chat-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background-color:#2a3942;display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:18px;font-weight:600}.online-badge{position:absolute;bottom:1px;right:1px;width:12px;height:12px;background-color:var(--accent-teal);border-radius:50%;border:2px solid var(--bg-panel)}.chat-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.chat-header-row{display:flex;justify-content:space-between;align-items:baseline}.chat-title{font-size:15.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{font-size:12px;color:var(--text-muted);flex-shrink:0}.chat-message-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-last-message{font-size:13.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.unread-badge{background-color:var(--accent-teal);color:#fff;font-size:11.5px;font-weight:700;min-width:19px;height:19px;padding:0 6px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center}.conversation-panel{flex:1;display:flex;flex-direction:column;height:100%;position:relative;background-color:var(--doodle-bg)}.conversation-wallpaper{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background-color:var(--doodle-bg);background-image:radial-gradient(var(--doodle-color) 1.2px,transparent 1.2px);background-size:24px 24px;opacity:.85}.conversation-header{position:relative;height:var(--header-height);padding:10px 20px;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;z-index:5}.chat-target-info{display:flex;align-items:center;gap:14px}.chat-target-name{font-size:16px;font-weight:600;color:var(--text-primary)}.chat-target-status{font-size:12.5px;color:var(--text-secondary)}.chat-target-status.online{color:var(--accent-teal);font-weight:500}.conversation-actions{display:flex;align-items:center;gap:8px}.conversation-actions .call-btn,.conversation-actions .icon-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;padding:0;margin:0;border:none;background-color:var(--bg-panel-hover);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all .2s ease}.conversation-actions .call-btn{color:var(--accent-teal)}.conversation-actions .call-btn:hover{background-color:var(--accent-teal-subtle);color:var(--accent-teal);transform:scale(1.05)}.conversation-actions .icon-btn:hover,.conversation-actions .icon-btn.active{background-color:var(--bg-active);color:var(--text-primary);transform:scale(1.05)}.messages-stream{position:relative;flex:1;overflow-y:auto;padding:20px 48px;display:flex;flex-direction:column;gap:8px;z-index:2}.e2ee-lock-notice{align-self:center;max-width:540px;margin:12px 0 20px;padding:8px 16px;background-color:#fef08a1f;border:1px solid rgba(254,240,138,.25);border-radius:var(--radius-sm);color:#fde047;font-size:12px;line-height:1.4;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}body.theme-light .e2ee-lock-notice{background-color:#fef3c7;border-color:#fde68a;color:#92400e}.message-bubble{position:relative;max-width:65%;min-width:80px;padding:7px 10px 6px 12px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:14.5px;line-height:1.45;word-break:break-word;animation:bubblePop .15s ease-out}@keyframes bubblePop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-bubble.sent,.message-bubble.me{align-self:flex-end;margin-left:auto;background-color:var(--bubble-sent);color:var(--bubble-sent-text);border:1px solid var(--bubble-sent-border, transparent);border-top-right-radius:2px;box-shadow:0 1px 2px #00000026}.message-bubble.received,.message-bubble.them{align-self:flex-start;margin-right:auto;background-color:var(--bubble-received);color:var(--bubble-received-text);border-top-left-radius:2px}.attachment-file-card{display:flex;align-items:center;gap:12px;background-color:#00000038;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:6px;min-width:230px;max-width:340px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.attachment-file-card:hover{background-color:#00000052;border-color:var(--accent-teal);transform:translateY(-1px)}body.theme-light .attachment-file-card{background-color:#0000000d;border-color:#0000001a}body.theme-light .attachment-file-card:hover{background-color:#00000014}.file-icon-box{width:42px;height:42px;border-radius:var(--radius-sm);background-color:var(--accent-teal);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-info-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:13.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11.5px;color:var(--text-muted)}.file-download-btn{width:34px;height:34px;border-radius:50%;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;background-color:#ffffff14}.attachment-file-card:hover .file-download-btn,.file-download-btn:hover{background-color:var(--accent-teal);color:#fff;transform:scale(1.08)}.message-img{max-width:280px;max-height:280px;border-radius:var(--radius-md);object-fit:cover;margin-bottom:6px;display:block;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.message-img:hover{opacity:.95;transform:scale(1.01)}.album-grid-collage{display:grid;gap:3px;max-width:290px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:6px}.album-grid-collage.count-1{grid-template-columns:1fr}.album-grid-collage.count-2,.album-grid-collage.count-3,.album-grid-collage.count-4,.album-grid-collage.count-more{grid-template-columns:1fr 1fr}.album-photo-wrapper{position:relative;overflow:hidden;aspect-ratio:1;background-color:#0003}.album-photo-wrapper .album-grid-img{width:100%;height:100%;object-fit:cover;margin-bottom:0;border-radius:0;max-width:none;max-height:none}.album-photo-wrapper.has-overlay .album-more-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none}.group-sender-header{font-size:12.5px;font-weight:600;margin-bottom:4px;display:block}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;float:right;margin-left:12px;margin-top:4px}.message-time{font-size:11px;color:var(--text-muted)}.msg-edited-tag{font-size:10.5px;font-style:italic;opacity:.72;margin-right:4px;-webkit-user-select:none;user-select:none}.message-bubble.sent .message-time{color:inherit;opacity:.72}body.theme-light .message-bubble.sent .message-time{color:inherit!important;opacity:.75}body.theme-light .message-bubble.received .message-time{color:#667781!important}.msg-status-tick{display:inline-flex;align-items:center;margin-left:3px;vertical-align:middle;line-height:1}.msg-status-tick .material-symbols-rounded{font-size:16px;line-height:1;transition:color .15s ease}.msg-status-tick.sent .material-symbols-rounded,.msg-status-tick.delivered .material-symbols-rounded{color:#ffffffa6!important}.msg-status-tick.read,.msg-status-tick.read .material-symbols-rounded,.msg-status-tick.read span{color:#53bdeb!important}body.theme-light .msg-status-tick.sent .material-symbols-rounded,body.theme-light .msg-status-tick.delivered .material-symbols-rounded{color:#00000073!important}body.theme-light .msg-status-tick.read,body.theme-light .msg-status-tick.read .material-symbols-rounded,body.theme-light .msg-status-tick.read span{color:#53bdeb!important}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:3000;display:flex;flex-direction:column;animation:fadeInDown .2s ease-out}.lightbox-header{height:60px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background-color:#111b21d9;border-bottom:1px solid rgba(255,255,255,.1)}.lightbox-title{font-size:15px;font-weight:600;color:#fff}.lightbox-actions{display:flex;align-items:center;gap:12px}.lightbox-content{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;cursor:zoom-out}.lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 10px 40px #000000a6}.conversation-footer{position:relative;min-height:var(--footer-height);padding:10px 20px;background-color:var(--bg-panel-header);border-top:1px solid var(--border-color);display:flex;align-items:flex-end;gap:12px;z-index:5}.input-actions{display:flex;align-items:center;gap:8px;padding-bottom:6px}.chat-input-wrapper{flex:1;background-color:var(--bg-input);border-radius:var(--radius-sm);padding:10px 16px;display:flex;align-items:center}.chat-input{width:100%;max-height:120px;resize:none;font-size:15px;line-height:1.4;color:var(--text-primary)}.chat-input::placeholder{color:var(--text-muted)}.btn-send{width:44px;height:44px;border-radius:50%;background-color:var(--accent-teal);color:#fff;margin-bottom:2px}.btn-send:hover{background-color:var(--accent-teal-hover);transform:scale(1.05)}.empty-chat-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;z-index:2;gap:20px}.empty-state-graphic{width:220px;height:220px;opacity:.75}.empty-state-title{font-size:32px;font-weight:300;color:var(--text-primary)}.empty-state-desc{max-width:460px;font-size:14.5px;line-height:1.6;color:var(--text-secondary)}.empty-state-e2ee{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-top:40px}.call-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.call-card{width:100%;max-width:640px;background-color:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column}.call-video-container{position:relative;width:100%;height:380px;background-color:#000;display:flex;align-items:center;justify-content:center}.local-video-pip{position:absolute;bottom:16px;right:16px;width:120px;height:90px;border-radius:var(--radius-sm);background-color:#1a1a1a;border:2px solid var(--accent-teal);object-fit:cover;box-shadow:var(--shadow-md)}.call-avatar-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px}.call-avatar-large{width:96px;height:96px;border-radius:50%;background-color:var(--accent-teal);display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff}.call-contact-name{font-size:22px;font-weight:600}.call-status-label{font-size:14px;color:var(--text-secondary)}.call-controls{padding:24px;display:flex;align-items:center;justify-content:center;gap:20px;background-color:var(--bg-panel-header)}.call-action-btn{width:52px;height:52px;border-radius:50%;background-color:var(--bg-input);color:var(--text-primary);font-size:20px}.call-action-btn.active{background-color:#ef4444;color:#fff}.call-action-btn.hangup{background-color:#ef4444;color:#fff;width:60px;height:60px}.call-action-btn.hangup:hover{background-color:#dc2626;transform:scale(1.05)}.download-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.download-card{width:100%;max-width:480px;background-color:var(--bg-panel);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:32px;display:flex;flex-direction:column;gap:20px}.download-header{display:flex;justify-content:space-between;align-items:flex-start}.download-title{font-size:20px;font-weight:600;color:var(--text-primary)}.download-version-badge{font-size:12px;padding:3px 8px;border-radius:var(--radius-pill);background-color:var(--accent-teal-subtle);color:var(--accent-teal);font-weight:600}.download-features-list{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text-secondary)}.download-features-list li{display:flex;align-items:center;gap:10px}.download-action-btn{width:100%;padding:14px;background-color:var(--accent-teal);color:#fff;font-weight:600;font-size:15px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;gap:10px}.download-action-btn:hover{background-color:var(--accent-teal-hover)}@media(max-width:820px){.sidebar{width:100%;max-width:100%}.conversation-panel,.main-layout.chat-open .sidebar{display:none}.main-layout.chat-open .conversation-panel{display:flex}.pairing-card{grid-template-columns:1fr;padding:32px 24px}}.avatar-container{position:relative;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-teal),var(--bubble-sent));color:#fff;font-weight:600;-webkit-user-select:none;user-select:none}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-transform:uppercase;background:linear-gradient(135deg,#203a43,#2c5364);color:#e9edef;font-weight:600}.dropdown-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:40px;height:40px}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--bg-panel-header);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:200px;padding:6px 0;z-index:100;animation:fadeInDown .15s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:10px 16px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary);text-align:left;transition:background var(--transition-speed)}.dropdown-item .material-symbols-rounded{font-size:20px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}.dropdown-item:hover{background-color:var(--bg-panel-hover);color:var(--accent-teal)}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background-color:#ef44441a}.dropdown-divider{height:1px;background-color:var(--border-color);margin:4px 0}.chat-search-bar{display:flex;align-items:center;justify-content:center;padding:8px 24px;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-color);animation:fadeInDown .15s ease-out;z-index:4}.chat-search-box-inner{display:flex;align-items:center;gap:10px;background-color:var(--bg-panel-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:6px 14px;width:100%;max-width:540px;transition:all var(--transition-speed)}.chat-search-box-inner:focus-within{border-color:var(--accent-teal);background-color:var(--bg-panel);box-shadow:0 0 0 2px var(--accent-teal-subtle)}.chat-search-box-inner input{flex:1;font-size:13.5px;color:var(--text-primary);background:transparent;border:none;outline:none}.icon-btn-sm{width:28px;height:28px;border-radius:50%;color:var(--text-muted)}.icon-btn-sm:hover{background-color:var(--bg-panel-hover);color:var(--text-primary)}.emoji-palette{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--bg-panel-header);border-top:1px solid var(--border-color);overflow-x:auto;white-space:nowrap;animation:fadeInDown .15s ease-out}.emoji-btn{font-size:22px;padding:4px 6px;border-radius:var(--radius-sm);transition:transform .1s ease,background .1s ease;line-height:1}.emoji-btn:hover{background-color:var(--bg-panel-hover);transform:scale(1.2)}.info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.info-modal-card{width:100%;max-width:480px;max-height:88vh;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column;animation:modalPop .2s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.info-modal-header{padding:16px 20px;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.info-modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.info-modal-body{padding:24px;display:flex;flex-direction:column;align-items:center;gap:18px;overflow-y:auto;max-height:calc(88vh - 65px);width:100%}.info-modal-avatar-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.info-name{font-size:19px;font-weight:600;color:var(--text-primary);text-align:center}.info-subtext{font-size:13.5px;color:var(--text-muted);text-align:center;margin-top:-12px}.info-section-box{width:100%;background-color:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.info-row{display:flex;align-items:center;gap:12px;font-size:13.5px}.info-row-icon{color:var(--accent-teal);font-size:20px}.info-row-content{flex:1;display:flex;flex-direction:column}.info-row-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600}.info-row-value{font-size:13.5px;color:var(--text-primary);font-family:var(--font-family);word-break:break-all}.info-modal-actions{width:100%;display:flex;gap:12px;margin-top:6px}.info-modal-btn{flex:1;padding:10px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;text-align:center;justify-content:center;background-color:var(--bg-panel-hover);color:var(--text-primary)}.info-modal-btn:hover{background-color:var(--bg-active)}.info-modal-btn.primary{background-color:var(--accent-teal);color:#fff}.info-modal-btn.primary:hover{background-color:var(--accent-teal-hover)}.message-img{max-width:280px;max-height:280px;border-radius:var(--radius-md);object-fit:cover;margin-bottom:6px;display:block}.call-btn{width:40px;height:40px;border-radius:50%;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed)}.call-btn:hover{background-color:var(--bg-panel-hover);color:var(--accent-teal)}.call-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px;transition:all .3s ease}.call-modal-overlay.fullscreen{padding:0;background-color:#000}.call-card{width:100%;max-width:520px;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.call-card.fullscreen{max-width:100vw;width:100vw;height:100vh;border-radius:0;border:none;background-color:#000}.call-header-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-color);z-index:10}.call-card.fullscreen .call-header-bar{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,#000000bf,#0000);border-bottom:none}.call-info-left{display:flex;align-items:center;gap:10px}.call-header-name{font-size:15px;font-weight:600;color:var(--text-primary)}.call-timer-badge{font-size:13px;font-weight:600;padding:4px 12px;background-color:var(--bg-active);border-radius:var(--radius-pill);color:var(--accent-teal);letter-spacing:.5px}.call-video-container{width:100%;height:380px;background-color:#0b0e11;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.call-video-container.fullscreen{height:100vh;width:100vw}.remote-video{width:100%;height:100%;object-fit:cover}.remote-video.fullscreen{width:100vw;height:100vh}.local-video-pip{position:absolute;bottom:18px;right:18px;width:120px;height:90px;border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--accent-teal);box-shadow:0 4px 14px #00000080;background-color:#000;z-index:5}.call-avatar-placeholder{display:flex;flex-direction:column;align-items:center;gap:14px}.call-avatar-large{position:relative}.call-contact-name{font-size:18px;font-weight:600;color:#fff}.call-status-label{font-size:13px;color:var(--text-secondary)}.group-call-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;width:100%;height:100%;padding:16px;align-content:center;justify-items:center;box-sizing:border-box;overflow-y:auto}.group-call-grid.fullscreen{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;padding:24px}.group-call-card{position:relative;width:100%;height:100%;min-height:140px;max-height:280px;background:#ffffff0d;border-radius:var(--radius-lg, 16px);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.group-call-card.local-card{border-color:var(--accent-teal, #00A884)}.group-call-video{width:100%;height:100%;object-fit:cover;background-color:#000}.group-call-avatar{display:flex;align-items:center;justify-content:center}.group-call-badge{position:absolute;bottom:8px;left:8px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 10px;border-radius:var(--radius-pill, 20px);font-size:12px;font-weight:500;color:#fff;display:flex;align-items:center;gap:6px;z-index:2}.call-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 24px;background-color:var(--bg-panel-header);border-top:1px solid var(--border-color);z-index:10}.call-card.fullscreen .call-controls{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#111b21d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);box-shadow:0 8px 32px #0009;padding:12px 28px}.call-action-btn{width:48px;height:48px;border-radius:50%;background-color:var(--bg-panel-hover);color:var(--text-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all .2s ease}.call-action-btn:hover{transform:scale(1.08);background-color:var(--bg-active)}.call-action-btn.active,.call-action-btn.hangup{background-color:#ef4444;color:#fff}.call-action-btn.hangup:hover{background-color:#dc2626;transform:scale(1.1)}.pinned-message-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000001f;z-index:10;animation:slideDown .2s ease-out}.pinned-bar-left{display:flex;align-items:center;gap:12px;overflow:hidden;cursor:pointer;flex:1}.pinned-bar-icon{color:var(--accent-teal);font-size:18px;flex-shrink:0}.pinned-bar-content{display:flex;flex-direction:column;overflow:hidden;white-space:nowrap}.pinned-bar-title{font-size:11.5px;font-weight:600;color:var(--accent-teal);text-transform:uppercase;letter-spacing:.5px}.pinned-bar-snippet{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.pinned-bar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pinned-bar-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.pinned-bar-btn:hover{color:var(--text-primary);background-color:var(--bg-panel-hover)}.reply-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background-color:var(--bg-panel);border-top:1px solid var(--border-color);border-left:4px solid var(--accent-teal);animation:slideUp .15s ease-out}.reply-preview-info{display:flex;flex-direction:column;overflow:hidden;flex:1;padding-right:12px}.reply-preview-author{font-size:12px;font-weight:600;color:var(--accent-teal)}.reply-preview-text{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview-close{background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.reply-preview-close:hover{color:var(--text-primary);background-color:var(--bg-panel-hover)}.quoted-reply-box{margin-bottom:6px;padding:6px 10px;border-radius:6px;background-color:#00000026;border-left:3.5px solid var(--accent-teal);font-size:12.5px;cursor:pointer;transition:background-color .15s ease}.message-bubble.me .quoted-reply-box{background-color:#0003;border-left-color:#fff}.quoted-reply-author{font-weight:600;font-size:11.5px;color:var(--accent-teal);margin-bottom:2px}.message-bubble.me .quoted-reply-author{color:#ffffffe6}.quoted-reply-text{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-bubble.me .quoted-reply-text{color:#ffffffbf}.message-bubble-wrapper{position:relative;display:flex;flex-direction:column;width:100%;margin-bottom:6px}.message-bubble-wrapper.me{align-items:flex-end;align-self:flex-end}.message-bubble-wrapper.them{align-items:flex-start;align-self:flex-start}.message-bubble-wrapper.me .bubble-reactions-row{justify-content:flex-end}.message-bubble-wrapper.them .bubble-reactions-row{justify-content:flex-start}.message-bubble{position:relative}.bubble-floating-bar{position:absolute;top:-16px;display:none;align-items:center;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:20px;padding:2px 6px;box-shadow:var(--shadow-md);z-index:15;animation:fadeInDown .15s ease-out}.message-bubble-wrapper.me .bubble-floating-bar{right:8px}.message-bubble-wrapper.them .bubble-floating-bar{left:8px}.message-bubble-wrapper:hover .bubble-floating-bar{display:flex}.floating-react-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:3px 5px;border-radius:50%;transition:transform .12s ease;line-height:1}.floating-react-btn:hover{transform:scale(1.35)}.floating-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:2px;transition:all .15s ease}.floating-action-btn:hover{color:var(--text-primary);background-color:var(--bg-panel-hover)}.bubble-reactions-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.reaction-badge{display:inline-flex;align-items:center;gap:3px;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;padding:1.5px 6px;font-size:12px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,background-color .15s ease}.reaction-badge:hover{transform:scale(1.1);background-color:var(--bg-panel-hover)}.msg-pin-badge{display:inline-flex;align-items:center;font-size:12px;color:#ffffffb3;margin-right:2px}.msg-star-badge{display:inline-flex;align-items:center;font-size:12px;color:#ffb800!important;margin-right:2px}body.theme-light .msg-pin-badge{color:#667781!important}body.theme-light .msg-star-badge{color:#e5a100!important}.bubble-context-menu{position:fixed!important;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000080;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:6px 0;z-index:9999!important;min-width:185px;animation:fadeInDown .12s ease-out;overflow:hidden}body.theme-light .bubble-context-menu{box-shadow:0 8px 24px #00000026;background-color:#fff}.bubble-context-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;background:none;border:none;color:var(--text-primary);font-size:13.5px;cursor:pointer;text-align:left;transition:background-color .12s ease}.bubble-context-item:hover{background-color:var(--bg-panel-hover)}.bubble-context-item.danger{color:#ef4444}.bubble-context-item.danger:hover{background-color:#ef44441f}.typing-indicator-bubble{display:inline-flex;align-items:center;gap:5px;padding:10px 14px;background-color:var(--bubble-received);border-radius:var(--radius-sm);border-top-left-radius:2px;box-shadow:var(--shadow-sm);margin-bottom:6px;width:fit-content;animation:bubblePop .15s ease-out}.typing-dot{width:7px;height:7px;border-radius:50%;background-color:var(--accent-teal);opacity:.6;animation:typingBounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.65);opacity:.4}40%{transform:scale(1.15);opacity:1}}.emoji-palette-categorized{display:flex;flex-direction:column;background-color:#111b21!important;border-top:1px solid var(--border-color);max-height:230px;overflow:hidden;animation:slideUp .2s ease-out;position:relative;z-index:10;box-shadow:0 -4px 16px #00000059}body.theme-light .emoji-palette-categorized{background-color:#fff!important;box-shadow:0 -4px 16px #00000014}body.theme-amoled .emoji-palette-categorized{background-color:#000!important;box-shadow:0 -4px 16px #000000d9}.emoji-palette-tabs{display:flex;align-items:center;padding:8px 12px;gap:6px;border-bottom:1px solid var(--border-color);background-color:#202c33!important;overflow-x:auto}body.theme-light .emoji-palette-tabs{background-color:#f0f2f5!important}body.theme-amoled .emoji-palette-tabs{background-color:#0b0b0b!important}.emoji-tab-btn{background:none;border:none;padding:4px 10px;border-radius:16px;font-size:16px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:4px;color:var(--text-muted)}.emoji-tab-btn:hover{background-color:var(--bg-panel-hover);color:var(--text-primary)}.emoji-tab-btn.active{background-color:var(--accent-teal);color:#fff}.emoji-grid-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:4px;padding:10px 14px;overflow-y:auto;max-height:180px;background-color:#111b21!important}body.theme-light .emoji-grid-scroll{background-color:#fff!important}body.theme-amoled .emoji-grid-scroll{background-color:#000!important}.emoji-grid-scroll::-webkit-scrollbar{width:5px}.emoji-grid-scroll::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reply-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background-color:#202c33!important;border-left:4px solid var(--accent-teal, #00A884)!important;border-radius:8px;margin:6px 16px 2px;box-shadow:0 4px 12px #00000040;animation:slideDownReply .2s cubic-bezier(.16,1,.3,1);z-index:10}@keyframes slideDownReply{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}body.theme-light .reply-preview-bar{background-color:#fff!important;box-shadow:0 4px 14px #00000014;border:1px solid rgba(0,0,0,.06);border-left:4px solid var(--accent-teal, #00A884)!important}body.theme-amoled .reply-preview-bar{background-color:#111!important;border:1px solid #222222;border-left:4px solid var(--accent-teal, #00A884)!important}.reply-preview-info{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1;min-width:0}.reply-preview-author{font-size:12.5px;font-weight:600;color:var(--accent-teal, #00A884)}.reply-preview-text{font-size:13px;color:var(--text-secondary, #8696A0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}body.theme-light .reply-preview-text{color:#54656f}.reply-preview-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted, #8696A0);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;transition:all .15s ease;flex-shrink:0}.reply-preview-close:hover{background-color:#ffffff1f;color:var(--text-primary)}body.theme-light .reply-preview-close:hover{background-color:#00000014;color:#111b21}.sidebar-call-widget{margin:8px 12px;padding:10px 14px;background:linear-gradient(135deg,#202c33f2,#111b21fa);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 4px 16px #00000059;display:flex;flex-direction:column;transition:border-left .25s ease,background .25s ease;position:relative;z-index:20}body.theme-light .sidebar-call-widget{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px #0000001a}body.theme-amoled .sidebar-call-widget{background:#0b0b0b;border:1px solid #222222}.sidebar-call-widget.incoming,.sidebar-call-widget.calling{border-left:4px solid var(--accent-teal)}.sidebar-call-widget.connected{border-left:4px solid #3B82F6}.sidebar-call-main-row{display:flex;align-items:center;gap:10px}.sidebar-call-avatar-wrapper{position:relative;width:40px;height:40px;flex-shrink:0}.sidebar-call-pulse-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--accent-teal);opacity:.8;animation:ringPulse 1.4s cubic-bezier(.24,0,.38,1) infinite}@keyframes ringPulse{0%{transform:scale(.95);opacity:.9}70%{transform:scale(1.25);opacity:0}to{transform:scale(1.25);opacity:0}}.sidebar-call-details{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-call-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-call-status-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.sidebar-call-status-row.incoming{color:var(--accent-teal);font-weight:500}.sidebar-call-status-row.calling{color:var(--accent-teal)}.sidebar-call-status-row.connected{color:#3b82f6;font-weight:500}.sidebar-call-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:8px}.sidebar-call-btn{padding:6px 14px;border:none;border-radius:20px;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:all .18s ease}.sidebar-call-btn.connect{background-color:#22c55e;color:#fff;box-shadow:0 2px 8px #22c55e59}.sidebar-call-btn.connect:hover{background-color:#16a34a;transform:translateY(-1px)}.sidebar-call-btn.decline{background-color:#ef4444;color:#fff;box-shadow:0 2px 8px #ef444459}.sidebar-call-btn.decline:hover{background-color:#dc2626;transform:translateY(-1px)}.sidebar-call-icon-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.sidebar-call-icon-btn:hover{background:#ffffff2e;transform:scale(1.05)}.sidebar-call-icon-btn.active{background-color:#ef4444;color:#fff;border-color:transparent}body.theme-light .sidebar-call-icon-btn{border-color:#0000001f;background:#0000000f}body.theme-light .sidebar-call-icon-btn:hover{background:#0000001f}.file-progress-bar{width:100%;height:4px;background-color:#ffffff26;border-radius:2px;overflow:hidden;margin-top:4px}body.theme-light .file-progress-bar{background-color:#0000001f}.file-progress-fill{height:100%;background-color:var(--accent-teal, #00A884);border-radius:2px;transition:width .15s ease}.file-download-btn.downloading{font-size:11px;font-weight:700;color:var(--accent-teal, #00A884);background-color:var(--accent-teal-subtle);border:1.5px solid var(--accent-teal);animation:pulseRotate 2s linear infinite}.theme-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;animation:fadeIn .2s ease-out}.theme-modal-card{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background-color:var(--bg-surface-elevated, #202C33);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 16px 40px #00000080;display:flex;flex-direction:column}body.theme-light .theme-modal-card{background-color:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 16px 40px #00000026}body.theme-amoled .theme-modal-card{background-color:#0b0b0b;border:1px solid #222222}.theme-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.theme-modal-title{font-size:17px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.theme-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:22px}.theme-section-title{font-size:13.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.theme-mode-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background-color:#0003;padding:4px;border-radius:12px}body.theme-light .theme-mode-segmented{background-color:#0000000f}.theme-mode-pill{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.theme-mode-pill:hover{color:var(--text-primary)}.theme-mode-pill.active{background-color:var(--accent-teal)!important;color:#fff!important;box-shadow:0 2px 10px rgba(var(--accent-rgb, 0, 168, 132),.35)}.visual-styles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.visual-style-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:14px 10px;background-color:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;transition:all .2s ease}body.theme-light .visual-style-card{background-color:#00000008;border-color:#00000014}.visual-style-card:hover{border-color:var(--accent-teal);transform:translateY(-2px)}.visual-style-card.active{border-color:var(--accent-teal)!important;background-color:var(--accent-teal-subtle)!important;box-shadow:0 0 0 1px var(--accent-teal)!important}.visual-style-card.active .visual-style-icon,.visual-style-card.active .visual-style-name{color:var(--accent-teal)!important}.visual-style-icon{font-size:26px;color:var(--accent-teal)}.visual-style-name{font-size:13px;font-weight:600;color:var(--text-primary)}.visual-style-desc{font-size:11px;color:var(--text-muted)}.color-presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-preset-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background-color:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:all .18s ease}body.theme-light .color-preset-item{background-color:#00000008;border-color:#00000014}.color-preset-item:hover{border-color:var(--preset-color, #00A884);transform:scale(1.02)}.color-preset-item.active{border-color:var(--preset-color, #00A884);background-color:#ffffff1a;box-shadow:0 0 0 1px var(--preset-color, #00A884)}.color-preset-dot{width:18px;height:18px;border-radius:50%;background-color:var(--preset-color, #00A884);flex-shrink:0;box-shadow:0 2px 4px #0003}.color-preset-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.style-glass{background:radial-gradient(ellipse 65% 55% at 10% 15%,rgba(var(--accent-rgb, 0, 168, 132),.35) 0%,transparent 60%),radial-gradient(ellipse 55% 50% at 88% 20%,rgba(99,102,241,.3) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 50% 85%,rgba(var(--accent-rgb, 0, 168, 132),.28) 0%,transparent 65%),radial-gradient(ellipse 45% 45% at 85% 85%,rgba(236,72,153,.22) 0%,transparent 60%),var(--bg-app)!important;background-attachment:fixed!important;background-size:cover!important}body.theme-light.style-glass{background:radial-gradient(ellipse 65% 55% at 10% 15%,rgba(var(--accent-rgb, 0, 168, 132),.28) 0%,transparent 60%),radial-gradient(ellipse 55% 50% at 88% 20%,rgba(99,102,241,.24) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 50% 85%,rgba(var(--accent-rgb, 0, 168, 132),.22) 0%,transparent 65%),radial-gradient(ellipse 45% 45% at 85% 85%,rgba(244,114,182,.2) 0%,transparent 60%),#e4e8ee!important;background-attachment:fixed!important;background-size:cover!important}body.theme-amoled.style-glass{background:radial-gradient(ellipse 65% 55% at 10% 15%,rgba(var(--accent-rgb, 0, 168, 132),.4) 0%,transparent 60%),radial-gradient(ellipse 55% 50% at 88% 20%,rgba(99,102,241,.32) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 50% 85%,rgba(var(--accent-rgb, 0, 168, 132),.3) 0%,transparent 65%),#000!important;background-attachment:fixed!important;background-size:cover!important}body.style-glass #app,body.style-glass .main-layout{background:transparent!important}body.style-glass .sidebar{background:#111b2194!important;backdrop-filter:blur(28px) saturate(190%)!important;-webkit-backdrop-filter:blur(28px) saturate(190%)!important;border-right:1px solid rgba(255,255,255,.12)!important;box-shadow:4px 0 30px #00000040!important}body.theme-light.style-glass .sidebar{background:#ffffff9e!important;backdrop-filter:blur(28px) saturate(190%)!important;-webkit-backdrop-filter:blur(28px) saturate(190%)!important;border-right:1px solid rgba(0,0,0,.08)!important;box-shadow:4px 0 24px #0000000f!important}body.theme-amoled.style-glass .sidebar{background:#060606ad!important;backdrop-filter:blur(28px) saturate(190%)!important;-webkit-backdrop-filter:blur(28px) saturate(190%)!important;border-right:1px solid rgba(255,255,255,.1)!important}body.style-glass .sidebar-header,body.style-glass .conversation-header{background:#16222a8c!important;backdrop-filter:blur(24px) saturate(190%)!important;-webkit-backdrop-filter:blur(24px) saturate(190%)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:0 2px 14px #0000002e!important}body.theme-light.style-glass .sidebar-header,body.theme-light.style-glass .conversation-header{background:#ffffffad!important;backdrop-filter:blur(24px) saturate(190%)!important;-webkit-backdrop-filter:blur(24px) saturate(190%)!important;border-bottom:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 14px #0000000d!important}body.theme-amoled.style-glass .sidebar-header,body.theme-amoled.style-glass .conversation-header{background:#0a0a0aad!important;backdrop-filter:blur(24px) saturate(190%)!important;-webkit-backdrop-filter:blur(24px) saturate(190%)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}body.style-glass .conversation-panel{background:transparent!important}body.style-glass .chat-messages-container{background-color:transparent!important;background-image:none!important}body.style-glass .conversation-footer{background:#16222a8c!important;backdrop-filter:blur(24px) saturate(190%)!important;-webkit-backdrop-filter:blur(24px) saturate(190%)!important;border-top:1px solid rgba(255,255,255,.1)!important}body.theme-light.style-glass .conversation-footer{background:#ffffffad!important;backdrop-filter:blur(24px) saturate(190%)!important;-webkit-backdrop-filter:blur(24px) saturate(190%)!important;border-top:1px solid rgba(0,0,0,.08)!important}body.theme-amoled.style-glass .conversation-footer{background:#0a0a0aad!important;backdrop-filter:blur(24px) saturate(190%)!important;-webkit-backdrop-filter:blur(24px) saturate(190%)!important;border-top:1px solid rgba(255,255,255,.08)!important}body.style-glass .search-input-wrapper,body.style-glass .chat-input-wrapper{background:#ffffff14!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;border:1px solid rgba(255,255,255,.15)!important}body.theme-light.style-glass .search-input-wrapper,body.theme-light.style-glass .chat-input-wrapper{background:#ffffffd9!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;border:1px solid rgba(0,0,0,.12)!important}body.style-glass .chat-item:hover{background:#ffffff0f!important}body.theme-light.style-glass .chat-item:hover{background:#0000000a!important}body.style-glass .chat-item.active{background:rgba(var(--accent-rgb, 0, 168, 132),.18)!important;border-left:4px solid var(--accent-teal)!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important}body.style-glass .message-bubble.sent,body.style-glass .message-bubble.me{background:var(--bubble-sent)!important;color:var(--bubble-sent-text)!important;border:1px solid var(--bubble-sent-border, transparent)!important;box-shadow:0 1px 2px #0003!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.theme-light.style-glass .message-bubble.sent,body.theme-light.style-glass .message-bubble.me{background:var(--bubble-sent)!important;color:var(--bubble-sent-text)!important;border:1px solid var(--bubble-sent-border, transparent)!important;box-shadow:0 1px 2px #00000014!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.style-glass .message-bubble.received,body.style-glass .message-bubble.them{background:var(--bubble-received)!important;color:var(--bubble-received-text)!important;border:1px solid rgba(255,255,255,.05)!important;box-shadow:0 1px 2px #0003!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.theme-light.style-glass .message-bubble.received,body.theme-light.style-glass .message-bubble.them{background:var(--bubble-received)!important;color:var(--bubble-received-text)!important;border:1px solid rgba(0,0,0,.04)!important;box-shadow:0 1px 2px #0000000f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.style-glass .attachment-file-card{background:#00000047!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;border:1px solid rgba(255,255,255,.18)!important}body.theme-light.style-glass .attachment-file-card{background:#fff9!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;border:1px solid rgba(0,0,0,.08)!important}body.style-glass .theme-modal-card,body.style-glass .download-card,body.style-glass .pairing-card{background:#121c24bf!important;backdrop-filter:blur(36px) saturate(200%)!important;-webkit-backdrop-filter:blur(36px) saturate(200%)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 24px 60px #0000008c,0 0 40px rgba(var(--accent-rgb, 0, 168, 132),.25)!important}body.theme-light.style-glass .theme-modal-card,body.theme-light.style-glass .download-card,body.theme-light.style-glass .pairing-card{background:#ffffffd1!important;backdrop-filter:blur(36px) saturate(200%)!important;-webkit-backdrop-filter:blur(36px) saturate(200%)!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 24px 60px #0000001f,0 0 40px rgba(var(--accent-rgb, 0, 168, 132),.18)!important}body.style-neumorphic .chat-item.active,body.style-neumorphic .message-bubble{box-shadow:-3px -3px 8px #ffffff0a,4px 4px 10px #0006!important}body.theme-light.style-neumorphic .chat-item.active,body.theme-light.style-neumorphic .message-bubble{box-shadow:-4px -4px 10px #ffffffe6,4px 4px 12px #00000014!important}.settings-modal-card{max-width:560px;width:92%;border-radius:16px;background:var(--bg-surface);border:1px solid var(--border-light);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:modalScaleIn .2s cubic-bezier(.16,1,.3,1)}.settings-nav-tabs{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid var(--border-light);background:var(--bg-hover);overflow-x:auto}.settings-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap}.settings-tab-btn:hover{color:var(--text-primary)}.settings-tab-btn.active{color:var(--accent-teal);border-bottom-color:var(--accent-teal);font-weight:600}.settings-content-body{padding:20px 24px;max-height:480px;overflow-y:auto}.settings-profile-header{display:flex;align-items:center;gap:16px}.settings-profile-name{font-size:18px;font-weight:600;color:var(--text-primary)}.settings-profile-uid{font-size:12px;color:var(--text-muted);margin-top:2px;font-family:monospace}.settings-status-badge{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--accent-teal);background:var(--accent-subtle);padding:3px 8px;border-radius:12px;font-weight:500}.group-info-card{max-width:480px;width:90%}.group-members-section{margin-top:16px;border-radius:12px;background:var(--bg-hover);border:1px solid var(--border-light);padding:12px 14px}.group-member-item{transition:background .15s ease;border-radius:8px;padding:6px 8px!important}.group-member-item:hover{background:var(--bg-surface)}.member-badge-you{font-size:10px;background:var(--accent-subtle);color:var(--accent-teal);padding:1px 6px;border-radius:8px;font-weight:600}body.style-glass .settings-modal-card{background:#121c24bf!important;backdrop-filter:blur(36px) saturate(200%)!important;-webkit-backdrop-filter:blur(36px) saturate(200%)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 24px 60px #0000008c,0 0 40px rgba(var(--accent-rgb, 0, 168, 132),.25)!important}body.theme-light.style-glass .settings-modal-card{background:#ffffffd1!important;backdrop-filter:blur(36px) saturate(200%)!important;-webkit-backdrop-filter:blur(36px) saturate(200%)!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 24px 60px #0000001f,0 0 40px rgba(var(--accent-rgb, 0, 168, 132),.18)!important}.klipy-palette-container{display:flex;flex-direction:column;background-color:#111b21!important;border-top:1px solid var(--border-color);height:320px;max-height:320px;overflow:hidden;position:relative;z-index:10;box-shadow:0 -4px 16px #00000059;animation:slideUp .2s ease-out}body.theme-light .klipy-palette-container{background-color:#fff!important;box-shadow:0 -4px 16px #00000014;border-top-color:#e2e8f0}.klipy-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#202c33!important;border-bottom:1px solid var(--border-color)}body.theme-light .klipy-header{background-color:#f8fafc!important;border-bottom-color:#e2e8f0}.klipy-tabs{display:flex;align-items:center;gap:8px}.klipy-tab-btn{background:none;border:none;padding:5px 12px;border-radius:16px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.klipy-tab-btn .material-symbols-rounded{font-size:18px}.klipy-tab-btn:hover{color:var(--text-primary);background-color:#ffffff14}.klipy-tab-btn.active{background-color:var(--accent-teal);color:#fff;box-shadow:0 1px 4px #00a8844d}.klipy-search-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:#ffffff0d;border-bottom:1px solid var(--border-color)}body.theme-light .klipy-search-bar{background-color:#00000008}.klipy-search-icon{font-size:18px;color:var(--text-muted)}.klipy-search-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:13.5px}body.theme-light .klipy-search-input{color:#0f172a}.klipy-grid-scroll{flex:1;overflow-y:auto;padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;align-content:start}.klipy-item{position:relative;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background-color:#0003;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.klipy-item:hover{transform:scale(1.03);box-shadow:0 4px 12px #0000004d;z-index:2}.klipy-item img{width:100%;height:100%;object-fit:cover;display:block}.klipy-item.is-sticker{background-color:transparent}.klipy-item.is-sticker img{object-fit:contain}.klipy-clip-badge{position:absolute;top:4px;right:4px;background:#000000a6;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.klipy-clip-badge .material-symbols-rounded{font-size:15px}.klipy-loading,.klipy-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 0;gap:10px;color:var(--text-muted);font-size:13.5px}.klipy-spin{animation:spin 1s linear infinite;font-size:26px;color:var(--accent-teal)}.klipy-footer{display:flex;align-items:center;justify-content:flex-end;padding:4px 14px;background-color:#202c33!important;border-top:1px solid var(--border-color)}body.theme-light .klipy-footer{background-color:#f8fafc!important;border-top-color:#e2e8f0}.klipy-powered{font-size:11px;color:var(--text-muted);letter-spacing:.3px}.klipy-brand{font-weight:700;color:var(--accent-teal);text-transform:capitalize}.message-gif-wrapper{max-width:260px;max-height:240px;border-radius:10px;overflow:hidden;margin-bottom:4px}.message-gif-img{width:100%;height:100%;max-height:240px;object-fit:cover;display:block}.message-sticker-wrapper{max-width:160px;max-height:160px;background:transparent;margin-bottom:4px}.message-sticker-img{width:100%;height:100%;object-fit:contain;display:block}.message-clip-wrapper{position:relative;max-width:280px;max-height:320px;border-radius:10px;overflow:hidden;background-color:#000;margin-bottom:4px}.message-clip-video{width:100%;max-height:320px;display:block}.message-clip-wrapper .clip-badge{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:12px;display:flex;align-items:center;gap:4px;letter-spacing:.5px;pointer-events:none}.message-call-event-card{display:flex;align-items:center;gap:12px;background:#00000026;border-radius:10px;padding:10px 14px;min-width:210px;cursor:pointer;transition:background .15s ease}.message-call-event-card:hover{background:#00000040}.call-event-icon-circle{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#ef44442e;color:#ef4444}.call-event-icon-circle.declined{background-color:#f59e0b2e;color:#f59e0b}.call-event-title{font-weight:600;font-size:13.5px;color:var(--text-primary, #FFF)}.call-event-subtitle{font-size:12px;color:var(--accent-teal, #00A884);font-weight:500;margin-top:1px}
