:root{color-scheme:dark;--bg-base: #0b1117;--bg-surface: #131b24;--bg-elevated: #1a2535;--bg-overlay: #212f42;--bg-hover: rgba(255, 255, 255, .045);--bg-active: rgba(255, 255, 255, .08);--bg-glass: rgba(19, 27, 36, .72);--border-subtle: rgba(255, 255, 255, .055);--border-default: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .15);--border-focus: rgba(51, 144, 236, .55);--text-primary: #eef2f6;--text-secondary: #8ba0b4;--text-muted: #4f667a;--text-link: #58a6e8;--accent: #3390ec;--accent-dim: rgba(51, 144, 236, .14);--accent-glow: rgba(51, 144, 236, .22);--accent-hover: #2a7fd9;--success: #2dd58a;--success-dim: rgba(45, 213, 138, .12);--warning: #f5a623;--danger: #e8474a;--danger-dim: rgba(232, 71, 74, .12);--msg-in-bg: #1a2535;--msg-out-bg: #1b4a7a;--msg-out-text: #e8f4ff;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 6px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--shadow-accent: 0 4px 20px rgba(51, 144, 236, .18);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--r-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font: "Geist", -apple-system, "SF Pro Text", system-ui, sans-serif;--font-mono: "Geist Mono", "SF Mono", monospace;--sidebar-w: 340px;--header-h: 54px;--composer-h: 60px;--motion-instant: .1s;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .26s;--motion-deliberate: .3s;--motion-ease-standard: cubic-bezier(.2, .8, .2, 1);--motion-ease-out: cubic-bezier(.16, 1, .3, 1);--motion-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--motion-ease-emphasized: cubic-bezier(.2, .9, .25, 1.15);--motion-distance-sm: 6px;--motion-distance-md: 12px;--spring: var(--motion-ease-standard);--duration-fast: var(--motion-base);--duration-normal: var(--motion-slow);--ease-out: var(--motion-ease-out);--ease-spring: var(--motion-ease-spring);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--t-fast: var(--motion-instant);--t-base: var(--motion-base);--t-slow: var(--motion-deliberate)}html[data-theme=light]{color-scheme:light}html[data-theme=light]{--bg-base: #F0F2F5;--bg-surface: #FFFFFF;--bg-elevated: #F7F9FB;--bg-overlay: #EEF1F5;--bg-hover: rgba(0,0,0,.04);--bg-active: rgba(0,0,0,.07);--bg-glass: rgba(255,255,255,.82);--border-subtle: rgba(0,0,0,.055);--border-default: rgba(0,0,0,.09);--border-strong: rgba(0,0,0,.15);--text-primary: #0D1117;--text-secondary: #5A7083;--text-muted: #9AAFBE;--msg-in-bg: #FFFFFF;--msg-out-bg: #DDF2F7;--msg-out-text: #0D1117;--accent-dim: rgba(51,144,236,.1);--shadow-xs: 0 1px 2px rgba(0,0,0,.08);--shadow-sm: 0 2px 8px rgba(0,0,0,.1);--shadow-md: 0 6px 20px rgba(0,0,0,.12)}*{-webkit-tap-highlight-color:transparent}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%}body{height:100%;overflow:hidden;background:var(--bg-base);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.45}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit;background:none;border:none}button{cursor:pointer}button,a,.icon-btn,.chat-tab,.conv-item{outline:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}img,video{max-width:100%;display:block}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::selection{background:var(--accent-glow);color:var(--text-primary)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}#app{height:100dvh;display:flex;overflow:hidden}.app-layout{display:flex;height:100%;width:100%;overflow:hidden}.chat-layout{display:flex;flex-direction:column;flex:1;min-width:0;height:100%}.chat-pane{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;background:var(--bg-base)}.chat-pane:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 20%,var(--accent-glow) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(45,213,138,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.chat-view{flex:1;display:flex;flex-direction:column;min-height:0;contain:layout style paint;overflow:hidden;width:100%}.chat-messages-area{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden;--chat-wallpaper: none;--chat-wallpaper-size: cover;--chat-wallpaper-opacity: .7;--chat-wallpaper-dim: 0}.chat-messages-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--chat-wallpaper);background-size:var(--chat-wallpaper-size);background-position:center;background-repeat:no-repeat;opacity:var(--chat-wallpaper-opacity);pointer-events:none;z-index:0}.chat-messages-area:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,var(--chat-wallpaper-dim));pointer-events:none;z-index:0}.chat-messages-area>*{position:relative;z-index:1}.messages-scroll{flex:1 1 auto;width:100%;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;position:relative;z-index:1;contain:layout paint}@media(prefers-reduced-motion:no-preference){.messages-scroll{scroll-behavior:smooth}}.messages{width:100%;max-width:860px;min-height:100%;box-sizing:border-box;margin:0 auto;padding:16px 18px 8px;display:flex;flex-direction:column;gap:1px;overflow:visible}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);position:relative;z-index:1}.empty-title{font-size:17px;font-weight:500;color:var(--text-secondary)}.empty-sub{font-size:14px}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-surface);border-right:1px solid var(--border-subtle);transition:width .25s var(--ease-out),opacity .25s var(--ease-out),min-width .25s var(--ease-out)}body.sidebar-collapsed .sidebar{width:0!important;min-width:0!important;overflow:hidden;border-right:none;opacity:0;pointer-events:none}.sidebar-header{display:flex;align-items:center;gap:4px;height:var(--header-h);padding:0 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.sidebar-title{flex:1;font-size:17px;font-weight:600;padding-left:6px}.search-wrap{padding:8px 10px 4px;flex-shrink:0}.search-box{position:relative}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-icon svg{width:16px;height:16px}.search-box input{width:100%;height:38px;padding:0 12px 0 34px;border-radius:var(--r-full);background:var(--bg-elevated);border:1px solid transparent;color:var(--text-primary);font-size:14px;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.search-box input:focus{border-color:var(--border-focus);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-glow)}.search-box input::placeholder{color:var(--text-muted)}.chat-tabs{position:relative;display:flex;gap:0;padding:8px 10px 0;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.chat-tab{flex:1;height:40px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;position:relative;z-index:1;transition:color var(--t-base) var(--ease-smooth)}.chat-tab:hover{color:var(--text-secondary)}.chat-tab.active{color:var(--accent);font-weight:600}.chat-tab-indicator{position:absolute;bottom:0;left:0;height:3px;background:var(--accent);border-radius:3px 3px 0 0;transition:transform var(--t-base) var(--ease-spring),width var(--t-base) var(--ease-spring);z-index:0}.chat-list-container{flex:1;position:relative;overflow:hidden;min-height:0}.chat-list-page{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;display:none;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.chat-list-page.active{display:block}.conv-item{display:flex;align-items:center;gap:11px;padding:16px 10px;margin:1px 6px;border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast) var(--ease-smooth);position:relative;min-height:68px}.conv-item:hover:before{content:"";position:absolute;left:0;top:20%;height:60%;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.conv-item.active{background:var(--accent)}.conv-item.active .conv-name,.conv-item.active .conv-last,.conv-item.active .conv-time{color:#fff}.conv-info{flex:1;min-width:0}.conv-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.conv-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-time{font-size:12px;color:var(--text-muted);flex-shrink:0}.conv-preview-row{display:flex;align-items:center;gap:5px;margin-top:1px}.conv-last{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.conv-mute-icon{color:var(--text-muted);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.conv-mute-icon svg{width:14px;height:14px}.avatar-online-wrap{position:relative;display:inline-flex;flex-shrink:0}.avatar-online-wrap .online-badge{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:var(--success);border:2px solid var(--bg-surface);z-index:2;animation:onlineAppear .3s var(--ease-spring)}@keyframes onlineAppear{0%{transform:scale(0)}to{transform:scale(1)}}.conv-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;flex-shrink:0;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",system-ui,sans-serif}.chat-header{display:flex;align-items:center;gap:6px;height:var(--header-h);padding:0 10px;background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);flex-shrink:0;z-index:10;overflow:visible!important;isolation:isolate}.back-btn{display:none}.chat-info{flex:1;display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;padding:6px 8px;border-radius:var(--r-md);transition:background var(--t-fast)}.chat-call-buttons{display:flex;gap:4px;align-items:center}.chat-meta{min-width:0;flex:1}.chat-title{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-status{font-size:12px;color:var(--text-muted)}.chat-status.online{color:var(--success)}.chat-call-buttons .icon-btn{color:var(--accent);transition:background var(--t-fast),transform var(--t-fast)}.chat-call-buttons .icon-btn:hover{background:var(--accent-dim);transform:scale(1.1)}.chat-call-buttons .icon-btn:active{transform:scale(.95)}.pinned-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);cursor:pointer;animation:slideDown .2s ease-out;transition:background .15s ease}.pinned-bar-icon{font-size:16px;flex-shrink:0}.pinned-bar-content{flex:1;min-width:0;overflow:hidden}.pinned-bar-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.pinned-bar-preview{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pinned-bar-close{flex-shrink:0;width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.pinned-bar-close:hover{background:var(--bg-hover);color:var(--text-primary)}.search-results-bar{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);animation:slideDown .2s ease-out}.search-results-bar input{flex:1;height:36px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-primary);font-size:14px}.search-results-bar input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.search-nav-btn{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.search-nav-btn:hover{background:var(--bg-hover)}.search-nav-btn:disabled{opacity:.4;cursor:not-allowed}.search-counter{font-size:13px;color:var(--text-muted);min-width:60px;text-align:center}.search-close-btn{width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto}.search-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-in-chat-wrap{display:flex;align-items:center;gap:6px;margin-left:auto}.search-in-chat-input{width:180px;height:36px;padding:0 12px;font-size:14px}#chatSearchInput.search-inactive{width:0!important;opacity:0;pointer-events:none}.composer{flex-shrink:0;position:relative;z-index:30;padding:10px 12px calc(env(safe-area-inset-bottom) + 10px);background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle)}.reply-preview{display:flex;align-items:center;gap:10px;padding:8px 10px 9px;margin-bottom:6px;border-left:3px solid var(--accent);background:var(--accent-dim);border-radius:0 var(--r-sm) var(--r-sm) 0}.reply-preview-icon{color:var(--accent);flex-shrink:0;display:flex;align-items:center}.reply-preview-icon svg{width:14px;height:14px}.reply-preview-body{flex:1;min-width:0}.reply-preview-author{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:2px}.reply-preview-text{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview{display:flex;align-items:center;gap:9px;padding:6px 10px 7px;margin-bottom:4px;background:var(--bg-elevated);border-radius:var(--r-sm);border:1px solid var(--border-subtle);font-size:13px}.attach-thumb{width:48px;height:48px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center}.attach-thumb img,.attach-thumb video{width:100%;height:100%;object-fit:cover;display:block}.attach-icon{color:var(--accent)}.attach-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-row{display:flex;align-items:flex-end;gap:6px}#textInput{flex:1;min-height:48px;max-height:140px;padding:12px 16px;border:none;border-radius:var(--r-xl);background:#fff1;color:var(--text-primary);transition:background var(--t-base) var(--ease-smooth),box-shadow var(--t-base) var(--ease-smooth);resize:none}#textInput:focus{background:#ffffff17;box-shadow:0 0 0 3px var(--accent-glow)}#textInput::placeholder{color:var(--text-muted)}.composer-action-btn{width:44px;height:44px;border-radius:var(--r-xl);background:var(--accent);color:#fff;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease-smooth),transform .2s cubic-bezier(.2,.9,.4,1.1),box-shadow var(--t-fast),border-radius .2s var(--ease-smooth);box-shadow:var(--shadow-accent)}.composer-action-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.04);box-shadow:0 4px 24px #3390ec52}.composer-action-btn:active:not(:disabled){transform:scale(.95)}.composer-action-btn:disabled{background:var(--bg-overlay);box-shadow:none;opacity:.5;pointer-events:none}.composer-action-btn svg{width:20px;height:20px;pointer-events:none}.composer-action-btn[data-mode=voice]{border-radius:var(--r-full)}.composer-action-btn[data-mode=send]{border-radius:var(--r-xl);background:var(--accent)}.composer-action-btn.connecting{pointer-events:none;position:relative}.composer-action-btn.connecting:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .6s linear infinite}.composer-action-btn.connecting svg{opacity:0}.voice-recorder{display:flex;align-items:center;gap:8px;padding:8px 10px;flex-wrap:wrap;min-height:48px}.voice-recorder-time{font-size:15px;font-variant-numeric:tabular-nums;color:var(--danger);font-weight:500;display:flex;align-items:center;gap:7px;flex-shrink:0}.voice-recorder-hint{flex:1;font-size:13px;color:var(--text-muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-recorder .icon-btn{flex-shrink:0;width:44px;height:44px}.offline-queue-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;margin:4px 12px 8px;background:var(--warning);color:#fff;border-radius:12px;font-size:12px;font-weight:600;box-shadow:0 2px 8px #0003;animation:slideUp .3s ease-out;width:fit-content}.offline-queue-badge.hidden{display:none}.offline-queue-badge svg{width:14px;height:14px}.mention-dropdown{position:absolute;bottom:100%;left:12px;right:12px;max-height:200px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:1000;margin-bottom:4px}.mention-dropdown.hidden{display:none}.mention-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .15s ease}.mention-item:hover,.mention-item.selected{background:var(--bg-hover)}.mention-login{font-weight:600;color:var(--accent);font-size:14px}.mention-name{color:var(--text-muted);font-size:13px;margin-left:auto}.msg-day{text-align:center;margin:10px 0;font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:10px}.msg-day:before,.msg-day:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.unread-divider{text-align:center;font-size:12px;font-weight:500;color:var(--accent);margin:8px 0;display:flex;align-items:center;gap:10px}.unread-divider:before,.unread-divider:after{content:"";flex:1;height:1px;background:var(--accent-dim)}.msg{display:flex;flex-direction:column;max-width:min(72%,600px);word-wrap:break-word;position:relative;overflow:visible;animation:msgIn var(--t-base) var(--ease-out) both;transition:transform .15s cubic-bezier(.2,.9,.4,1);touch-action:pan-y;-webkit-user-select:none;user-select:none;z-index:1}.msg.out{align-self:flex-end;align-items:flex-end}.msg.in{align-self:flex-start;align-items:flex-start}.msg+.msg{margin-top:1px}.msg.same-author.in .msg-bubble{border-top-left-radius:var(--r-xs)}.msg.same-author.out .msg-bubble{border-top-right-radius:var(--r-xs)}.msg-bubble{padding:0;display:flex;flex-direction:column;min-width:0;position:relative;overflow:visible}.msg.in .msg-bubble{background:var(--msg-in-bg);color:var(--text-primary);border-radius:var(--r-md) var(--r-md) var(--r-md) var(--r-xs)}.msg.out .msg-bubble{background:var(--msg-out-bg);color:var(--msg-out-text);border-radius:var(--r-md) var(--r-md) var(--r-xs) var(--r-md)}.msg-bubble.circle-bubble{background:transparent!important;box-shadow:none!important;padding:0!important;border:none!important;min-width:0!important}.msg.in .msg-bubble.circle-bubble,.msg.out .msg-bubble.circle-bubble{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important}.msg-author{font-size:13px;font-weight:600;color:var(--accent);margin:8px 12px 3px}.msg-text{white-space:pre-wrap;word-break:break-word;padding:8px 12px 6px}.msg-text a{color:var(--text-link)}.msg.out .msg-text a{color:#fffc;text-decoration:underline}.msg-text .mention{color:var(--accent);font-weight:500;cursor:pointer;transition:opacity .15s ease}.msg-text .mention:hover{opacity:.8;text-decoration:underline}.msg-meta{display:inline-flex;align-self:flex-end;gap:3px;font-size:11px;color:var(--text-muted);-webkit-user-select:none;user-select:none;position:static;margin-top:2px;margin-bottom:6px;padding:0 12px;white-space:nowrap}.msg.out .msg-meta{color:#ffffff8c}.msg-edited{font-style:italic}.msg-meta--overlay{position:absolute;bottom:4px;right:8px;margin:0;padding:2px 6px;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);color:#fff;border-radius:6px}.msg-reply{border-left:3px solid var(--accent);padding:5px 9px;margin:8px 12px 6px;border-radius:0 var(--r-xs) var(--r-xs) 0;background:#ffffff0f;cursor:pointer;transition:background var(--t-fast)}.msg-reply:hover{background:#ffffff1a}.msg-reply-author{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:2px}.msg.out .msg-reply-author{color:#8ab4f8}.msg-reply-text{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-attachment{margin-bottom:0;position:relative;width:100%;height:auto;overflow:hidden;background:transparent;border:none;box-shadow:none;padding:0}.msg.in .msg-bubble>.msg-attachment:only-child{border-radius:var(--r-md) var(--r-md) var(--r-md) var(--r-xs)}.msg.out .msg-bubble>.msg-attachment:only-child{border-radius:var(--r-md) var(--r-md) var(--r-xs) var(--r-md)}.msg.in .msg-bubble>.msg-attachment:last-child{border-radius:0 0 var(--r-md) var(--r-xs)}.msg.out .msg-bubble>.msg-attachment:last-child{border-radius:0 0 var(--r-xs) var(--r-md)}.msg-attachment img,.msg-attachment video{width:100%;height:auto;max-height:400px;object-fit:cover;display:block;cursor:pointer;transition:opacity var(--t-fast),transform var(--t-fast);border-radius:inherit}.msg-attachment.media-grid{display:grid;gap:2px;max-width:320px;padding:0;background:transparent}.msg-attachment.media-grid img{width:100%;height:100%;min-height:120px;max-height:200px;border-radius:4px;cursor:pointer}.msg-attachment.media-grid img:hover{opacity:.9;transform:scale(1.02);z-index:2}.msg-attachment.media-grid.grid-2{grid-template-columns:1fr 1fr}.msg-attachment.media-grid.grid-2 img{border-radius:8px}.msg-attachment.media-grid.grid-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.msg-attachment.media-grid.grid-3 img:first-child{grid-column:1 / 3;border-radius:8px 8px 0 0}.msg-attachment.media-grid.grid-3 img:nth-child(2){border-radius:0 0 0 8px}.msg-attachment.media-grid.grid-3 img:nth-child(3){border-radius:0 0 8px}.msg-attachment.media-grid.grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.msg-attachment.media-grid.grid-4 img{border-radius:4px}.msg-attachment.media-grid.grid-4 img:first-child{border-radius:8px 0 0}.msg-attachment.media-grid.grid-4 img:nth-child(2){border-radius:0 8px 0 0}.msg-attachment.media-grid.grid-4 img:nth-child(3){border-radius:0 0 0 8px}.msg-attachment.media-grid.grid-4 img:nth-child(4){border-radius:0 0 8px}.msg-voice{display:flex;align-items:center;gap:11px;min-width:230px;padding:8px 12px}.voice-wave-container{position:relative;width:100%;height:32px;flex:1;min-width:120px}.voice-wave-bg,.voice-wave-fg{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.voice-wave-progress{position:absolute;top:0;left:0;height:100%;overflow:hidden;pointer-events:none;transition:width .1s linear;width:0%}.voice-wave-fg{min-width:100%;width:100%}.msg-voice-play{width:36px;height:36px;border-radius:var(--r-full);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t-fast),transform var(--t-fast)}.msg-voice-play:hover{background:var(--accent-hover);transform:scale(1.05)}.msg-voice-body{flex:1;min-width:0}.msg-voice-time{font-size:12px;color:var(--text-muted);margin-top:3px;font-variant-numeric:tabular-nums}.msg-voice-speed{background:var(--bg-hover);border:1px solid var(--border-default);color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--r-full);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);flex-shrink:0}.msg-voice-speed:hover{background:var(--bg-active);color:var(--text-primary)}.msg-file{display:flex;align-items:center;gap:11px;padding:10px 12px;background:#ffffff0d;border-radius:var(--r-sm);text-decoration:none;color:inherit;min-width:210px;border:1px solid var(--border-subtle);transition:background var(--t-fast)}.msg-file:hover{background:#ffffff14}.msg-file-icon{width:40px;height:40px;border-radius:var(--r-sm);background:var(--accent-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.msg-file-info{min-width:0;flex:1}.msg-file-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-file-size{font-size:12px;color:var(--text-muted);margin-top:2px}.video-note-container{position:relative;width:240px;height:240px;flex-shrink:0;margin:0}.video-note-wrapper{position:relative;width:100%;height:100%;border-radius:50%!important;overflow:hidden!important;background:#000;cursor:pointer}.video-note{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.video-note-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000004d;pointer-events:none}.video-note-play-btn{width:48px;height:48px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.video-note-duration{color:#fff;font-size:13px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.8)}.video-note-progress-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);pointer-events:none}.video-note-time-display{position:absolute;bottom:12px;left:50%;transform:translate(-50%);color:#fff;font-size:12px;font-weight:600;background:#0009;padding:2px 8px;border-radius:10px;pointer-events:none}.video-note-speed-btn{position:absolute;bottom:12px;right:12px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;z-index:10}.video-note-speed-btn:hover{background:#000000b3;transform:scale(1.05)}.msg-reactions{display:flex;flex-wrap:wrap;gap:4px;margin:5px 12px 8px}.reaction-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--r-full);padding:5px 10px;min-height:28px;font-size:14px;cursor:pointer;transition:background var(--t-fast) var(--ease-smooth),border-color var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.reaction-chip:hover{background:var(--bg-overlay);transform:scale(1.05)}.reaction-chip.mine{background:var(--accent-dim);border-color:var(--border-focus)}.reaction-count{font-size:12px;color:var(--text-secondary)}.msg-actions{display:none;position:absolute;top:50%;transform:translateY(-50%);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--r-full);box-shadow:var(--shadow-sm);padding:2px 4px;gap:0;align-items:center;z-index:10;animation:fadeInActions var(--t-fast) var(--ease-out);isolation:isolate}@keyframes fadeInActions{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(hover:hover){.msg.in .msg-actions{right:-108px}.msg.out .msg-actions{left:-108px}.msg:hover .msg-actions{display:flex}}.msg.show-actions .msg-actions{display:flex}.msg.in .msg-actions{right:-108px}.msg.out .msg-actions{left:-108px}.msg-actions .icon-btn{width:36px;height:36px}.msg-actions .icon-btn svg{width:15px;height:15px}.msg-quick-reactions{position:absolute;top:-45px;right:0;left:auto;display:flex;gap:4px;padding:5px 8px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--r-full);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(8px) scale(.95);transition:opacity .15s var(--ease-out),transform .15s var(--ease-out);z-index:100;pointer-events:none}.msg-quick-reactions.active{opacity:1;transform:none;pointer-events:auto}.msg.out .msg-quick-reactions{right:calc(100% + 8px);left:auto;transform:translateY(-50%) translate(4px) scale(.95)}.msg.out .msg-quick-reactions.active{transform:translateY(-50%) translate(0) scale(1)}@media(hover:hover){.msg:hover .msg-quick-reactions{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.msg.out:hover .msg-quick-reactions{transform:translateY(-50%) translate(0) scale(1)}}@media(hover:none){.msg-quick-reactions{display:none!important}}.quick-reaction-btn{width:34px;height:34px;border-radius:50%;font-size:18px;background:transparent;transition:background var(--t-fast),transform var(--t-fast);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.quick-reaction-btn:hover{background:var(--bg-hover);transform:scale(1.15) translateY(-1px)}.msg.system{align-self:center;max-width:70%}.msg.system .msg-bubble{background:var(--bg-elevated);border-color:var(--border-subtle);border-radius:var(--r-full);padding:5px 14px;font-size:13px;color:var(--text-muted);text-align:center}.hidden-msg-placeholder{display:flex;align-items:center;gap:7px;padding:7px 12px;background:var(--bg-elevated);border-radius:var(--r-md);border:1px dashed var(--border-default);font-size:13px;color:var(--text-muted)}.typing-indicator{display:flex;align-items:center;gap:3px;padding:9px 14px;align-self:flex-start;background:var(--msg-in-bg);border-radius:var(--r-md) var(--r-md) var(--r-md) var(--r-xs);border:1px solid var(--border-subtle);margin-bottom:4px}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typing 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.message-status{display:inline-flex;gap:2px;align-items:center;margin-left:4px;vertical-align:middle}.message-status-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;background:transparent;transition:background .2s ease}.message-status.sending{color:var(--text-muted)}.message-status.sending .message-status-dot{animation:pulseStatus 1.2s infinite ease-in-out}.message-status.delivered{color:var(--text-muted)}.message-status.read{color:var(--accent)}.message-status.read .message-status-dot{background:currentColor}.message-status.error{color:var(--danger);cursor:pointer}@keyframes pulseStatus{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.msg-status svg{display:none!important}.wallpaper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 0}.wallpaper-thumb{aspect-ratio:3/4;border-radius:var(--r-md);cursor:pointer;border:2px solid transparent;transition:.1s;position:relative}.wallpaper-thumb.active{border-color:var(--accent)}.wallpaper-thumb .preview-dots{position:absolute;bottom:8px;right:8px;width:28px;height:16px;border-radius:8px;background:#1b4a7ae6}.wallpaper-thumb .preview-dot-in{position:absolute;top:8px;left:8px;width:40px;height:16px;border-radius:8px;background:#1a2535e6}.wallpaper-controls{display:flex;flex-direction:column;gap:12px;padding:12px 0 4px}.wallpaper-slider-row{display:flex;align-items:center;gap:12px}.wallpaper-slider{flex:1;-webkit-appearance:none;height:4px;border-radius:2px;background:var(--border-default)}.wallpaper-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer}.photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;animation:photoViewerIn .25s var(--ease-out)}.photo-viewer.hidden{display:none!important}@keyframes photoViewerIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.photo-viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000eb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.photo-viewer-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 20px 20px}.photo-viewer-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:10}.photo-viewer-close:hover{background:#fff3}.photo-viewer-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .15s ease;cursor:grab}.photo-viewer-image:active{cursor:grabbing}.photo-viewer-controls{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;border:1px solid rgba(255,255,255,.1)}.photo-viewer-controls button{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.photo-viewer-controls button:hover{background:#ffffff40}#overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;pointer-events:none}#overlay-root>*{pointer-events:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:4000;animation:fadeIn .18s ease}.modal-backdrop--plain{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0009}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;display:flex;align-items:flex-end;justify-content:center;visibility:hidden;pointer-events:none}@media(min-width:600px){.modal{align-items:center}}.modal.active{visibility:visible;pointer-events:auto}.modal-sheet{position:relative;z-index:5000;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90dvh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(40px);opacity:0;transition:transform var(--t-slow) var(--ease-out),opacity var(--t-slow) var(--ease-smooth);will-change:transform}@media(min-width:600px){.modal-sheet{border-radius:var(--r-xl);transform:scale(.94) translateY(0)}}.modal.active .modal-sheet{transform:translateY(0);opacity:1}@media(min-width:600px){.modal.active .modal-sheet{transform:scale(1)}}.modal-sheet:before{content:"";display:block;margin:10px auto 0;width:36px;height:4px;border-radius:2px;background:var(--border-strong);flex-shrink:0}@media(min-width:600px){.modal-sheet:before{display:none}}.modal-sheet--narrow{max-width:400px}.modal-sheet--medium{max-width:420px}.modal-sheet--wide{max-width:480px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.modal-body{flex:1;overflow-y:auto;padding:16px 18px}.modal-footer{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--border-subtle);flex-shrink:0}.modal-footer .btn{flex:1}.modal input,.modal textarea{touch-action:manipulation}body.modal-open{touch-action:none}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;visibility:hidden;pointer-events:none}.drawer.active{visibility:visible;pointer-events:auto}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#03080e6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity var(--t-slow) var(--ease-smooth)}.drawer.active .drawer-backdrop{opacity:1}.drawer-panel{position:absolute;top:0;left:0;bottom:0;width:288px;background:var(--bg-surface);border-right:1px solid var(--border-subtle);transform:translate(-100%);transition:transform var(--duration-normal) var(--spring),opacity var(--duration-normal) var(--spring);will-change:transform,opacity;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #00000073,0 2px 12px #00000040}.drawer.active .drawer-panel{transform:translate(0)}.drawer-header{position:relative;padding:28px 18px 16px;border-bottom:1px solid var(--border-subtle);overflow:hidden;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-overlay))}.drawer-hero-bg{position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(160deg,var(--accent) 0%,var(--bg-overlay) 100%);opacity:.25;pointer-events:none}.drawer-name{font-size:18px;font-weight:600;line-height:1.2}.drawer-tag{font-size:13px;color:var(--text-muted);margin-top:2px}.drawer-status{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:var(--r-md);border:1px dashed var(--border-default);transition:background var(--t-fast)}.drawer-status:hover{background:var(--bg-hover)}.drawer-body{flex:1;overflow-y:auto;padding:8px 0}.drawer-item{display:flex;align-items:center;gap:14px;padding:12px 18px;cursor:pointer;font-size:14px;transition:background var(--t-fast) var(--ease-smooth);min-height:52px}.drawer-item:hover{background:var(--bg-hover)}.drawer-item:active{background:var(--bg-active);transform:scale(.985)}.drawer-item-icon{width:38px;height:38px;border-radius:var(--r-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.drawer-item-icon svg{width:17px;height:17px}.drawer-item-label{flex:1}.drawer-item-value{font-size:13px;color:var(--text-muted)}.drawer-item.danger .drawer-item-label{color:var(--danger)}.drawer-item.danger .drawer-item-icon{color:var(--danger);background:var(--danger-dim)}.avatar{border-radius:var(--r-full);background:linear-gradient(135deg,var(--accent),#1A6DBB);box-shadow:inset 0 1px #ffffff1a,0 2px 6px #0003;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase;flex-shrink:0;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",system-ui,sans-serif}.avatar--80{width:80px;height:80px;font-size:30px}.avatar--96{width:96px;height:96px;font-size:36px}.avatar--48{width:48px;height:48px;font-size:18px}.avatar--40{width:40px;height:40px;font-size:15px}.avatar--36{width:36px;height:36px;font-size:14px}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar[data-color="1"]{background:linear-gradient(135deg,#3390ec,#1a6dbb)}.avatar[data-color="2"]{background:linear-gradient(135deg,#2dd58a,#1a9e66)}.avatar[data-color="3"]{background:linear-gradient(135deg,#e8474a,#b83436)}.avatar[data-color="4"]{background:linear-gradient(135deg,#f5a623,#c07800)}.avatar[data-color="5"]{background:linear-gradient(135deg,#9b59d0,#7039a8)}.avatar[data-color="6"]{background:linear-gradient(135deg,#e96b9d,#c04878)}.avatar .online-dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:var(--success);border:2px solid var(--bg-surface)}.profile-avatar-wrap{position:relative;width:fit-content;margin:0 auto;cursor:pointer}.avatar-edit-btn{position:absolute;bottom:2px;right:2px;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006;transition:background var(--t-fast),transform var(--t-fast);border:2px solid var(--bg-surface)}.avatar-edit-btn:hover{background:var(--accent-hover);transform:scale(1.08)}.avatar-edit-btn:active{transform:scale(.95)}.icon-btn{width:38px;height:38px;border-radius:var(--r-full);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast);flex-shrink:0;cursor:pointer}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.05)}.icon-btn:active{background:var(--bg-active);transform:scale(.95)}.icon-btn:disabled{opacity:.4;pointer-events:none;transform:none}.icon-btn svg{width:19px;height:19px}.icon-btn.accent{color:var(--accent)}.icon-btn.accent:hover{background:var(--accent-dim)}.btn{height:42px;padding:0 18px;border-radius:var(--r-md);font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background var(--t-fast),opacity var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.4;pointer-events:none}.btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn--primary:hover{background:var(--accent-hover);box-shadow:0 4px 24px #3390ec47}.btn--ghost{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn--ghost:hover{background:var(--bg-active);border-color:var(--border-default)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover{filter:brightness(1.08)}.btn--danger-ghost{color:var(--danger)}.btn--danger-ghost:hover{background:var(--danger-dim)}.btn--block{width:100%}.btn--sm{height:34px;padding:0 14px;font-size:13px;border-radius:var(--r-sm)}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);background:var(--accent);color:#fff;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1;letter-spacing:.01em}.badge.muted{background:var(--text-muted)}.sidebar-toggle-btn{display:none;position:static;z-index:20;background:var(--bg-elevated);box-shadow:none}body.sidebar-collapsed .sidebar-toggle-btn{display:inline-flex}.chat-menu-wrap{position:relative;flex-shrink:0;overflow:visible!important;z-index:100}.chat-dropdown{position:fixed;z-index:10000;min-width:280px;background:var(--bg-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-default);border-radius:18px;box-shadow:var(--shadow-lg);padding:8px;visibility:hidden;opacity:0;flex-direction:column;transform-origin:top right;transform:translateY(-6px);transition:opacity var(--duration-normal) var(--spring),transform var(--duration-normal) var(--spring),visibility var(--duration-normal)}.chat-dropdown.active{visibility:visible;opacity:1;transform:translateY(0);display:flex}.chat-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:14px;color:var(--text-primary);text-align:left;transition:background var(--t-fast),transform .1s ease;border-radius:12px;min-height:44px;cursor:pointer}.chat-dropdown-item:active{transform:scale(.98);background:var(--bg-active)}.chat-dropdown-item--danger:hover{background:var(--danger-dim)}.chat-dropdown-divider{height:1px;background:var(--border-subtle);margin:4px 0}.context-menu{position:fixed;background:var(--bg-surface);border-radius:12px;box-shadow:0 8px 24px #00000026;padding:6px;min-width:180px;z-index:10000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease-out}.context-menu.active{opacity:1;visibility:visible;pointer-events:auto;animation:menuPop .15s ease-out}@keyframes menuPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ctx-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:14px;color:var(--text-primary);transition:background var(--t-fast);min-height:44px}.ctx-item svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.ctx-item.danger{color:var(--danger)}.ctx-item.danger svg{color:var(--danger)}.ctx-item.danger:hover{background:var(--danger-dim)}.ctx-separator{height:1px;background:var(--border-subtle);margin:4px 6px}.reaction-picker{display:flex;gap:4px;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);animation:pickerIn var(--t-base) var(--ease-spring)}@keyframes pickerIn{0%{opacity:0;transform:scale(.85) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.reaction-btn{width:40px;height:40px;font-size:20px;border-radius:var(--r-md);transition:background var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.reaction-btn:hover{background:var(--bg-overlay);transform:scale(1.2) translateY(-2px)}.msg-reaction-picker{position:fixed;z-index:10001;display:flex;gap:4px;padding:6px 8px;background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-default);border-radius:var(--r-full);box-shadow:var(--shadow-lg);animation:pickerIn .2s var(--ease-spring);pointer-events:auto}.reaction-picker-btn{width:36px;height:36px;font-size:20px;border-radius:var(--r-full);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s var(--ease-smooth),background .1s}.reaction-picker-btn:hover{background:var(--bg-hover);transform:scale(1.2)}.reaction-picker-btn:active{transform:scale(.9)}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:var(--r-full);background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-md);font-size:14px;color:var(--text-primary);pointer-events:auto;max-width:340px;animation:toastIn var(--t-base) var(--ease-spring) both}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.toast svg{width:16px;height:16px;flex-shrink:0}.toast.success{background:#2dd58a1f;border-color:#2dd58a40;color:var(--success)}.toast.error{background:var(--danger-dim);border-color:#e8474a40;color:var(--danger)}.toast.info{background:var(--accent-dim);border-color:#3390ec40;color:var(--accent)}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;background:var(--bg-base);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transition:opacity .3s ease}.splash.hidden{opacity:0;pointer-events:none}.splash-logo{width:64px;height:64px;background:var(--accent);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent)}.splash-logo svg{width:36px;height:36px;color:#fff}.splash-text{font-size:20px;font-weight:600;color:var(--text-primary)}.ws-status-dot{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:default;margin-left:auto;padding:4px 8px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none}.ws-status-dot .ws-status-label{font-weight:500}.ws-status-dot.online .ws-status-label{color:var(--success)}.ws-status-dot.connecting .ws-status-label{color:var(--warning)}.ws-status-dot.offline .ws-status-label{color:var(--danger)}.ws-status-dot:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.ws-status-dot.online:before{background:var(--success)}.ws-status-dot.connecting:before{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}.ws-status-dot.offline:before{background:var(--danger)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.connection-banner-temp{position:fixed;top:70px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:6px 14px;border-radius:var(--r-full);font-size:13px;font-weight:500;z-index:10000;opacity:0;transition:opacity .2s var(--ease-smooth);pointer-events:none;box-shadow:var(--shadow-accent)}.connection-banner-temp.visible{opacity:1}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:var(--bg-base);background-image:radial-gradient(circle at 30% 40%,var(--accent-glow),transparent 55%),radial-gradient(circle at 70% 70%,rgba(45,213,138,.06),transparent 50%)}.auth-card{width:100%;max-width:380px;padding:36px 32px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.auth-logo{width:52px;height:52px;border-radius:var(--r-lg);background:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:var(--shadow-accent)}.auth-logo svg{width:28px;height:28px;color:#fff}.auth-title{font-size:21px;font-weight:600;text-align:center;margin-bottom:6px}.auth-sub{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:26px}.auth-step{display:none}.auth-step.active{display:block}.auth-form{display:flex;flex-direction:column;gap:20px;padding:8px 0 12px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group input{height:52px;padding:0 16px;border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid transparent;transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.password-field-wrap{position:relative;display:flex;align-items:center}.password-field-wrap input{width:100%;padding-right:44px!important}.pwd-eye-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--r-sm);transition:color var(--t-fast);flex-shrink:0;background:transparent;border:none;cursor:pointer}.pwd-eye-btn:hover{color:var(--text-primary)}.input-prefix-wrap{display:flex;align-items:center;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--r-sm)}.input-prefix{padding:0 4px 0 12px;font-size:15px;color:var(--text-muted)}.input-prefix-wrap input{flex:1;padding:10px 12px 10px 2px;background:none;border:none;outline:none}.field-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.password-strength{display:flex;align-items:center;gap:8px;margin-top:6px}.strength-bars{display:flex;gap:3px;flex:1}.strength-bar{height:3px;flex:1;border-radius:2px;background:var(--border-default)}.strength-bar.weak{background:var(--danger)}.strength-bar.medium{background:var(--warning)}.strength-bar.strong{background:var(--success)}.strength-label{font-size:11px;color:var(--text-muted);width:60px;text-align:right}.field-error{color:var(--danger);font-size:13px;margin-top:4px}.modern-input{width:100%;height:48px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-elevated);padding:0 16px;color:var(--text-primary);font-size:15px;transition:border-color var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.modern-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.user-search-results{display:flex;flex-direction:column;gap:4px;margin-top:14px;max-height:320px;overflow-y:auto}.user-result-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--bg-elevated);cursor:pointer;transition:background var(--t-fast) var(--ease-smooth);min-height:56px}.user-result-card.selected{background:var(--accent-dim);border-left:3px solid var(--accent)}.user-result-card .conv-avatar{width:40px;height:40px;font-size:16px}.search-result-name{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-login{font-size:12px;color:var(--text-muted);margin-top:2px}.primary-create-btn{width:100%;height:52px;margin-top:18px;border:none;border-radius:var(--r-lg);background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-accent);transition:background var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth),box-shadow var(--t-fast) var(--ease-smooth)}.primary-create-btn:hover{background:var(--accent-hover);box-shadow:0 4px 24px #3390ec47}.primary-create-btn:active{transform:scale(.98)}.primary-create-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.chat-type-switch{display:flex;gap:8px;background:var(--bg-elevated);border:1px solid var(--border-default);padding:6px;border-radius:var(--r-lg);margin-bottom:18px}.chat-type-btn{flex:1;min-width:0;height:44px;border:none;border-radius:var(--r-md);background:transparent;color:var(--text-muted);font-weight:600;font-size:13px;cursor:pointer;transition:background var(--t-base) var(--ease-smooth),color var(--t-base) var(--ease-smooth)}.chat-type-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.group-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.group-fields.hidden{display:none}.scroll-down-btn{position:absolute;bottom:88px;right:24px;width:40px;height:40px;border-radius:var(--r-full);background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;z-index:20;transition:background var(--t-fast),transform var(--t-fast),opacity var(--t-fast);animation:fadeInUp var(--t-base) var(--ease-out)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scroll-down-btn:hover{background:var(--bg-overlay);transform:scale(1.05)}.scroll-down-btn svg{width:18px;height:18px}.scroll-down-btn .scroll-badge{position:absolute;top:-6px;right:-6px}@media(min-width:721px){.scroll-down-btn{right:18px}}@media(max-width:720px){.scroll-down-btn{right:12px;bottom:calc(var(--composer-h) + 14px)}}.skeleton-chat-item{display:flex;align-items:center;padding:12px;gap:12px}.skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-overlay) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton{animation:shimmer 1.5s ease-in-out infinite;background:var(--bg-elevated);border-radius:var(--r-sm)}.skeleton-chat{display:flex;align-items:center;gap:12px;padding:9px 10px;width:100%}.skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-overlay) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-lines>div{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-overlay) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-lines>div:first-child{width:55%}.skeleton-lines>div:last-child{width:75%}.skeleton-bubble{min-height:60px;border-radius:14px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-overlay) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;margin-bottom:8px;position:relative}.skeleton-bubble.in{align-self:flex-start;width:50%;border-bottom-left-radius:4px}.skeleton-bubble.out{align-self:flex-end;width:60%;background:linear-gradient(90deg,var(--msg-out-bg) 25%,rgba(255,255,255,.08) 50%,var(--msg-out-bg) 75%);background-size:200% 100%;border-bottom-right-radius:4px}.skeleton-bubble:after{content:"";position:absolute;right:12px;bottom:10px;width:34px;height:10px;background:#ffffff1a;border-radius:4px}.skeleton-bubble.out:after{background:#ffffff26}.skeleton-bubble.short{height:28px;width:35%;align-self:flex-start}.skeleton-bubble.long{height:60px;width:80%;align-self:flex-start}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:720px){:root{--sidebar-w: 100vw}.sidebar{width:100%;border-right:none}.chat-pane{display:none;width:100%}body.in-chat .sidebar{display:none}body.in-chat .chat-pane,.back-btn{display:flex}.msg{max-width:min(85%,560px)}.sidebar,.chat-pane{transition:transform .25s cubic-bezier(.2,.9,.4,1.1);will-change:transform}body.in-chat .sidebar{transform:translate(-100%)}body.in-chat .chat-pane{transform:translate(0)}.chat-pane{transform:translate(100%)}.msg-actions{display:none!important}.msg.show-actions .msg-actions{display:flex!important}.voice-recorder{gap:6px;padding:6px 8px}.voice-recorder-hint{display:none}.voice-recorder-time{font-size:14px}.msg-voice{min-width:180px;gap:8px;padding:6px 10px}.voice-wave-container{min-width:100px}.msg-voice-speed{font-size:11px;padding:3px 6px}.photo-viewer-content{padding:50px 10px 80px}.photo-viewer-close{top:10px;right:10px}.photo-viewer-controls{bottom:16px}.modal-sheet{max-height:100dvh;border-radius:0}.modal-sheet:before{display:block}}@media(max-width:600px){.photo-viewer-content{padding:50px 10px 80px}.photo-viewer-close{top:10px;right:10px}.photo-viewer-controls{bottom:16px}}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-sm{font-size:13px}.text-xs{font-size:12px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.divider{height:1px;background:var(--border-subtle);margin:8px 0}.flex-row-center-gap{display:flex;align-items:center;gap:var(--space-2)}.flex-wrap-gap{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.no-padding-top{padding-top:0}.mt-12{margin-top:var(--space-3)}.mb-8{margin-bottom:var(--space-2)}.ml-auto{margin-left:auto}.hidden-inline{display:none!important}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}.btn.loading .spinner{border-top-color:currentColor}.btn--primary.loading .spinner{border-top-color:#fff}.btn-loading{position:relative;cursor:wait}.btn-loading .spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes msgIn{0%{opacity:0;transform:translateY(10px) scale(.92)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.low-bandwidth-active .chat-header,body.low-bandwidth-active .composer,body.low-bandwidth-active .chat-dropdown{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.low-bandwidth-active .msg,body.low-bandwidth-active .conv-item,body.low-bandwidth-active .toast{animation:none!important;transition:none!important}body.low-bandwidth-active .messages-scroll{scroll-behavior:auto!important}:root{--ui-safe-gap: 10px;--ui-panel-max: min(92vw, 560px)}.chat-header{min-width:0;width:100%;box-sizing:border-box}.chat-header>*{flex-shrink:0}.chat-header .chat-info{flex:1 1 auto;min-width:0;overflow:hidden}.chat-header .chat-meta{min-width:0;overflow:hidden}.chat-header .chat-title,.chat-header .chat-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-call-buttons{display:flex;align-items:center;flex:0 0 auto;min-width:0}#chatMenuBtn{display:inline-flex!important;flex:0 0 auto}.chat-dropdown{box-sizing:border-box;width:min(300px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:min(70vh,520px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.chat-dropdown.active{visibility:visible;opacity:1;pointer-events:auto}.chat-dropdown[hidden]{display:none!important}.chat-dropdown-item{width:100%;min-width:0;box-sizing:border-box}.chat-dropdown-item>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal,.modal-sheet{box-sizing:border-box;max-width:var(--ui-panel-max);max-height:min(88dvh,900px)}.modal-sheet{display:flex;flex-direction:column;overflow:hidden}.modal-header,.modal-footer{flex:0 0 auto}.modal-body,.media-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.media-tabs{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.media-tab{flex:0 0 auto;white-space:nowrap}.media-grid{width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.media-item{min-width:0;max-width:100%;box-sizing:border-box}.drawer-panel{width:min(88vw,360px);max-width:100%;overflow:hidden}.drawer-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.msg{min-width:0}.msg-bubble{position:relative;max-width:min(76%,680px);box-sizing:border-box;filter:none!important;isolation:isolate}.msg-bubble:before,.msg-bubble:after,.msg.in .msg-bubble:before,.msg.in .msg-bubble:after,.msg.out .msg-bubble:before,.msg.out .msg-bubble:after{content:none!important;display:none!important;border:0!important;box-shadow:none!important}.msg.in .msg-bubble{border-radius:16px 16px 16px 5px;box-shadow:0 1px 2px #00000024}.msg.out .msg-bubble{border-radius:16px 16px 5px;box-shadow:0 1px 2px #0000001f}.msg.same-author .msg-bubble{border-radius:16px}.msg-text,.msg-caption,.msg-forwarded,.msg-reply-preview{overflow-wrap:anywhere;word-break:break-word}.msg-attachment,.msg-attachment img,.msg-attachment video{max-width:100%;box-sizing:border-box}@media(max-width:768px){.chat-header{gap:2px;padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right))}.chat-header .icon-btn{width:38px;height:38px;min-width:38px}.chat-info{gap:7px;padding:4px}.chat-info .avatar{width:38px;height:38px;min-width:38px}.chat-call-buttons{gap:0}#chatMenuBtn{display:inline-flex!important}.chat-dropdown{width:min(300px,calc(100vw - 12px));max-width:calc(100vw - 12px);max-height:min(72dvh,520px);border-radius:14px}.modal{padding:0;align-items:flex-end}.modal-sheet{width:100%;max-width:100%;max-height:min(92dvh,900px);border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}.modal-header{position:sticky;top:0;z-index:2}.modal-footer{position:sticky;bottom:0;z-index:2;padding-bottom:max(12px,env(safe-area-inset-bottom))}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.msg-bubble{max-width:86%}}@media(max-width:420px){.chat-title{font-size:14px}.chat-status{font-size:11px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.msg-bubble{max-width:90%}}@media(prefers-reduced-motion:reduce){.chat-dropdown,.modal,.modal-sheet,.drawer-panel,.msg{animation:none!important;transition:none!important}}.chat-status.typing{color:var(--accent);font-weight:500;display:inline-flex;align-items:center;gap:5px}.chat-status.typing:after{content:"";width:18px;height:4px;display:inline-block;background:radial-gradient(circle,currentColor 1.5px,transparent 1.8px) 0 50% / 6px 4px repeat-x;animation:typing-status-shift 1s linear infinite;opacity:.85}@keyframes typing-status-shift{0%{background-position-x:0}to{background-position-x:6px}}@media(prefers-reduced-motion:reduce){.chat-status.typing:after{animation:none}}.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 98%,var(--accent) 2%),var(--bg-surface))}.sidebar-header{height:60px;padding:0 12px;gap:6px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border-bottom-color:transparent}.sidebar-title{padding-left:4px;font-size:19px;font-weight:700;letter-spacing:-.02em}.sidebar-header .icon-btn{width:40px;height:40px;min-width:40px}.search-wrap{padding:4px 12px 8px}.search-box input{height:42px;padding-left:38px;border-radius:13px;background:var(--bg-elevated);border:1px solid transparent;font-size:14px}.search-box input:hover{background:color-mix(in srgb,var(--bg-elevated) 92%,var(--text-primary) 8%)}.search-box input:focus{background:var(--bg-base);border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 3px var(--accent-dim)}.search-icon{left:13px}.search-icon svg{width:17px;height:17px}.chat-tabs{padding:0 12px;border-bottom:1px solid var(--border-subtle)}.chat-tab{height:42px;font-size:13px;font-weight:600;border-radius:10px 10px 0 0}.chat-tab.active{font-weight:700}.chat-tab-indicator{height:2px;border-radius:2px 2px 0 0}.chat-list-page{padding:6px 6px 12px;scrollbar-gutter:stable}.conv-item{min-height:70px;margin:0;padding:9px 10px;gap:11px;border-radius:12px;transition:background-color var(--t-fast) var(--ease-smooth),transform var(--t-fast) var(--ease-smooth)}.conv-item:after{content:"";position:absolute;left:72px;right:10px;bottom:0;height:1px;background:var(--border-subtle);pointer-events:none}.conv-item:last-child:after,.conv-item.active:after{opacity:0}.conv-item:hover{background:var(--bg-hover)}.conv-item:hover:before{display:none}.conv-item:active{transform:scale(.992);background:var(--bg-active)}.conv-item.active{background:var(--accent-dim)}.conv-item.active:before{content:"";position:absolute;left:2px;top:16px;bottom:16px;width:3px;display:block;border-radius:3px;background:var(--accent)}.conv-item.active .conv-name{color:var(--text-primary)}.conv-item.active .conv-last,.conv-item.active .conv-time{color:var(--text-secondary)}.conv-avatar{width:50px;height:50px;font-size:18px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff14}.conv-avatar--channel svg{width:24px;height:24px;stroke-width:2}.avatar-online-wrap .online-badge{width:13px;height:13px;right:0;bottom:0;border-width:2px}.conv-info{min-width:0;padding:2px 0}.conv-row{align-items:center;gap:8px}.conv-name{font-size:15px;line-height:1.3;font-weight:650;letter-spacing:-.01em}.conv-time{font-size:11px;line-height:1}.conv-preview-row{min-height:20px;margin-top:4px;gap:6px}.conv-last{font-size:13px;line-height:1.35}.conv-mute-icon{width:15px;height:15px}.badge{min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px;box-shadow:none}.conv-empty{min-height:180px;display:grid;place-items:center;padding:24px;color:var(--text-muted);text-align:center;font-size:14px}@media(hover:none){.conv-item:hover{background:transparent}.conv-item.active:hover{background:var(--accent-dim)}}@media(max-width:720px){:root{--header-h: 56px}.sidebar{width:100%;min-width:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.sidebar-header{height:58px;padding-inline:8px}.sidebar-title{font-size:20px;padding-left:2px}#hideSidebarBtn{display:none}.sidebar-header .icon-btn{width:44px;height:44px;min-width:44px}.sidebar-header .icon-btn svg{width:21px;height:21px}.search-wrap{padding:2px 10px 8px}.search-box input{height:44px;border-radius:14px;font-size:16px}.chat-tabs{padding-inline:10px}.chat-tab{min-height:44px;font-size:14px}.chat-list-page{padding:4px 4px max(14px,env(safe-area-inset-bottom))}.conv-item{min-height:72px;padding:9px 8px;border-radius:11px;gap:11px}.conv-item:after{left:69px;right:8px}.conv-item.active:before{display:none}.conv-avatar{width:50px;height:50px}.conv-name{font-size:16px}.conv-last{font-size:14px}.conv-time{font-size:12px}.conv-preview-row{margin-top:3px}}@media(max-width:380px){.sidebar-title{font-size:19px}.conv-item{min-height:68px;padding-block:7px}.conv-avatar{width:46px;height:46px;font-size:17px}.conv-item:after{left:65px}.conv-name{font-size:15px}.conv-last{font-size:13px}}.chat-view{background:var(--bg-base)}.chat-header{min-height:60px;height:60px;padding:0 10px;gap:4px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px color-mix(in srgb,var(--border-subtle) 70%,transparent)}.chat-header>.icon-btn,.chat-call-buttons .icon-btn,#toggleChatSearchBtn,#chatMenuBtn{width:40px;height:40px;min-width:40px;border-radius:12px}.chat-header>.icon-btn svg,.chat-call-buttons .icon-btn svg,#toggleChatSearchBtn svg,#chatMenuBtn svg{width:20px;height:20px}.chat-info{min-height:48px;padding:4px 7px;gap:10px;border-radius:12px}.chat-info:hover{background:var(--bg-hover)}.chat-avatar{width:42px!important;height:42px!important;min-width:42px;font-size:15px;box-shadow:inset 0 0 0 1px #ffffff14}.chat-meta{display:flex;flex-direction:column;justify-content:center;gap:1px}.chat-title{font-size:15px;line-height:1.25;font-weight:700;letter-spacing:-.012em}.chat-status{min-height:15px;font-size:12px;line-height:1.2;color:var(--text-muted)}.chat-status.online,.chat-status.typing{color:var(--accent)}.chat-call-buttons{gap:2px}.chat-call-buttons .icon-btn{color:var(--text-secondary)}.chat-call-buttons .icon-btn:hover{color:var(--accent);background:var(--accent-dim);transform:none}.search-in-chat-wrap{flex:0 1 auto;min-width:0}.search-in-chat-input{height:40px;border-radius:12px;background:var(--bg-elevated);border:1px solid transparent}.chat-messages-area{isolation:isolate;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--accent) 3%,transparent),transparent 32%),radial-gradient(circle at 85% 85%,color-mix(in srgb,var(--accent) 2%,transparent),transparent 34%),var(--bg-base)}.chat-messages-area:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--text-primary) 1.2%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text-primary) 1.2%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,#0000002e,#0000000d);mask-image:linear-gradient(to bottom,#0000002e,#0000000d);opacity:.22}.messages-scroll{z-index:1;scrollbar-gutter:stable;scroll-padding-top:18px;scroll-padding-bottom:18px}.messages{max-width:900px;padding:20px 22px 12px;gap:2px}.empty-chat{padding:28px}.empty-title{font-size:18px;font-weight:700;letter-spacing:-.02em}.empty-sub{max-width:360px;line-height:1.45;text-align:center}.pinned-bar{min-height:48px;padding:7px 12px;gap:9px;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle);box-shadow:none}.pinned-bar:hover{background:var(--bg-hover)}.composer{padding:8px 10px calc(env(safe-area-inset-bottom) + 9px);background:color-mix(in srgb,var(--bg-surface) 91%,transparent);border-top:1px solid color-mix(in srgb,var(--border-subtle) 85%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -8px 24px #0000000d}.composer-row{width:min(100%,920px);margin:0 auto;align-items:flex-end;gap:5px}.composer-row>.icon-btn{width:42px;height:42px;min-width:42px;margin-bottom:1px;border-radius:13px;color:var(--text-secondary)}.composer-row>.icon-btn:hover{color:var(--accent);background:var(--accent-dim)}#textInput{min-height:44px;max-height:132px;padding:11px 15px;border:1px solid var(--border-subtle);border-radius:18px;background:var(--bg-elevated);font-size:15px;line-height:21px;box-shadow:inset 0 1px #ffffff06}#textInput:hover{border-color:var(--border-default)}#textInput:focus{background:var(--bg-base);border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 3px var(--accent-dim)}.composer-action-btn{width:44px;height:44px;min-width:44px;margin-bottom:0;border-radius:15px;box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 26%,transparent)}.composer-action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 32%,transparent)}.composer-action-btn:active:not(:disabled){transform:scale(.96)}.composer-action-btn:disabled{background:var(--bg-overlay);color:var(--text-muted);opacity:.72}.reply-preview,.attachment-preview{width:min(100%,920px);margin-left:auto;margin-right:auto}.reply-preview{min-height:50px;margin-bottom:7px;padding:7px 9px;border-left-width:3px;border-radius:10px;background:color-mix(in srgb,var(--accent-dim) 82%,var(--bg-elevated))}.attachment-preview{margin-bottom:7px;padding:7px 9px;border-radius:11px;background:var(--bg-elevated)}#cancelReplyBtn,#removeAttachBtn{width:34px;height:34px;min-width:34px;border-radius:10px}.scroll-down-btn{width:42px;height:42px;right:18px;bottom:80px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 22px #0000002e}.scroll-down-btn:hover{background:var(--bg-overlay);transform:translateY(-1px)}@media(max-width:900px){.messages{padding-inline:16px}}@media(max-width:720px){.chat-view{width:100%;min-width:100%;background:var(--bg-base)}.chat-header{min-height:calc(58px + env(safe-area-inset-top));height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 5px 0;gap:1px}.sidebar-toggle-btn{display:none!important}.back-btn{display:inline-flex;width:44px!important;height:44px!important;min-width:44px!important;border-radius:50%!important}.chat-info{min-width:0;min-height:50px;padding:3px 4px;gap:9px}.chat-avatar{width:40px!important;height:40px!important;min-width:40px}.chat-title{font-size:15px}.chat-status{font-size:11px}.chat-call-buttons{gap:0}.chat-call-buttons .icon-btn,#toggleChatSearchBtn,#chatMenuBtn{width:42px;height:42px;min-width:42px;border-radius:50%}.search-in-chat-wrap{position:absolute;left:8px;right:8px;top:calc(env(safe-area-inset-top) + 7px);z-index:4}.search-in-chat-input{height:44px;font-size:16px}.messages-scroll{overscroll-behavior-y:contain;scroll-padding-top:12px;scroll-padding-bottom:12px}.messages{max-width:none;padding:12px 8px 8px;gap:1px}.pinned-bar{min-height:46px;padding:6px 9px}.composer{padding:6px max(6px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 7px) max(6px,env(safe-area-inset-left));box-shadow:0 -5px 18px #0000000f}.composer-row{width:100%;gap:3px}.composer-row>.icon-btn{width:40px;height:40px;min-width:40px;border-radius:50%}#textInput{min-height:42px;max-height:116px;padding:10px 13px;border-radius:17px;font-size:16px;line-height:21px}.composer-action-btn{width:42px;height:42px;min-width:42px;border-radius:50%}.reply-preview,.attachment-preview{width:100%}.reply-preview{min-height:46px;margin-bottom:5px}.attachment-preview{margin-bottom:5px}.scroll-down-btn{width:40px;height:40px;right:max(10px,env(safe-area-inset-right));bottom:calc(64px + env(safe-area-inset-bottom))}}@media(max-width:520px){.chat-header .chat-info{gap:7px}}@media(max-width:390px){.chat-header{padding-left:2px;padding-right:2px}.back-btn{width:40px!important;height:40px!important;min-width:40px!important}.chat-avatar{width:38px!important;height:38px!important;min-width:38px}.chat-title{font-size:14px}.composer-row>.icon-btn{width:38px;height:38px;min-width:38px}.composer-action-btn{width:40px;height:40px;min-width:40px}#textInput{min-height:40px;padding:9px 12px}}@media(hover:none){.chat-info:hover,.chat-call-buttons .icon-btn:hover,.composer-row>.icon-btn:hover,.scroll-down-btn:hover{transform:none}}.msg-day{align-self:center;width:auto;margin:12px auto;padding:5px 10px;gap:0;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);color:var(--text-secondary);font-size:11px;font-weight:650;line-height:1;box-shadow:0 2px 8px #00000014;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.msg-day:before,.msg-day:after{display:none}.unread-divider{align-self:stretch;margin:14px 4px;gap:10px;color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.unread-divider:before,.unread-divider:after{background:color-mix(in srgb,var(--accent) 30%,transparent)}.msg{max-width:min(76%,620px);margin-inline:0;animation-duration:.15s}.msg+.msg{margin-top:2px}.msg.in{padding-right:54px}.msg.out{padding-left:54px}.msg-bubble{min-width:48px;border:1px solid transparent;box-shadow:0 1px 2px #0000001f;transform:translateZ(0)}.msg.in .msg-bubble{background:color-mix(in srgb,var(--msg-in-bg) 96%,var(--bg-base) 4%);border-color:color-mix(in srgb,var(--border-subtle) 85%,transparent);border-radius:17px 17px 17px 6px}.msg.out .msg-bubble{background:linear-gradient(145deg,color-mix(in srgb,var(--msg-out-bg) 96%,white 4%),var(--msg-out-bg));border-color:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:17px 17px 6px}.msg.same-author.in .msg-bubble{border-top-left-radius:8px}.msg.same-author.out .msg-bubble{border-top-right-radius:8px}.msg.in:not(.same-author) .msg-bubble:before,.msg.out:not(.same-author) .msg-bubble:before{content:"";position:absolute;bottom:-1px;width:12px;height:13px;pointer-events:none}.msg.in:not(.same-author) .msg-bubble:before{left:-6px;background:radial-gradient(circle at 100% 0,transparent 8px,color-mix(in srgb,var(--msg-in-bg) 96%,var(--bg-base) 4%) 8.5px)}.msg.out:not(.same-author) .msg-bubble:before{right:-6px;background:radial-gradient(circle at 0 0,transparent 8px,var(--msg-out-bg) 8.5px)}.msg-text{padding:8px 11px 5px;font-size:14px;line-height:1.42;user-select:text;-webkit-user-select:text}.msg-text:only-child{padding-bottom:8px}.msg-author{margin:8px 11px 1px;font-size:12px;line-height:1.25;font-weight:750}.msg-meta{min-height:15px;margin:0 0 5px;padding:0 10px;gap:4px;font-size:10px;line-height:1;color:var(--text-muted)}.msg.out .msg-meta{color:color-mix(in srgb,var(--msg-out-text) 62%,transparent)}.msg-edited{opacity:.85}.message-status{margin-left:2px;gap:1px}.message-status-dot{width:7px;height:7px;border-width:1.3px}.msg-reply{margin:7px 8px 2px;padding:6px 8px;border-left-width:3px;border-radius:7px;background:color-mix(in srgb,var(--accent-dim) 78%,transparent)}.msg-reply:hover{background:color-mix(in srgb,var(--accent-dim) 100%,var(--bg-hover))}.msg.out .msg-reply{background:#0000001a}.msg-reply-author{margin-bottom:1px;font-size:12px;line-height:1.2}.msg-reply-text{font-size:12px;line-height:1.3}.msg-forwarded,.forwarded-label,.msg-forward{margin:7px 11px 0;color:color-mix(in srgb,var(--accent) 88%,var(--text-primary));font-size:11px;font-weight:650;line-height:1.3}.msg-attachment{border-radius:inherit}.msg-attachment img,.msg-attachment video{max-height:min(52vh,440px);background:var(--bg-overlay)}.msg-bubble>.msg-attachment:first-child img,.msg-bubble>.msg-attachment:first-child video{border-top-left-radius:16px;border-top-right-radius:16px}.msg-bubble>.msg-attachment:last-child img,.msg-bubble>.msg-attachment:last-child video{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.msg-attachment.media-grid{max-width:360px;gap:2px;overflow:hidden;border-radius:inherit}.msg-attachment.media-grid img{min-height:112px;max-height:230px;transition:opacity .12s ease}.msg-attachment.media-grid img:hover{transform:none}.msg-file{min-width:240px;max-width:360px;margin:3px;padding:9px 10px;gap:10px;border:0;border-radius:13px;background:color-mix(in srgb,var(--bg-elevated) 72%,transparent)}.msg.out .msg-file{background:#ffffff12}.msg-file-icon{width:42px;height:42px;border-radius:12px}.msg-file-name{font-size:13px;font-weight:650}.msg-file-size{font-size:11px}.msg-voice{min-width:250px;max-width:390px;padding:8px 10px 7px;gap:9px}.msg-voice-play{width:38px;height:38px;min-width:38px;border-radius:50%;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 26%,transparent)}.msg-voice-play:hover{transform:none}.msg-voice-body{min-width:130px}.voice-wave-container{height:27px;min-width:130px}.msg-voice-time{margin-top:1px;font-size:10px;line-height:1}.msg-voice-speed{padding:3px 7px;border:0;font-size:10px;background:color-mix(in srgb,var(--bg-overlay) 72%,transparent)}.msg-reactions{align-self:flex-start;margin:4px 5px 3px;gap:3px}.msg.out .msg-reactions{align-self:flex-end}.reaction-chip{min-height:25px;padding:3px 7px;gap:4px;border-radius:999px;font-size:13px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);box-shadow:0 1px 3px #00000014}.reaction-chip:hover{transform:none}.reaction-chip.mine{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 44%,transparent)}.reaction-count{font-size:10px;font-weight:650}.video-note-container{width:clamp(190px,28vw,250px);height:clamp(190px,28vw,250px);filter:drop-shadow(0 4px 14px rgba(0,0,0,.2))}.video-note-wrapper{border:2px solid color-mix(in srgb,white 18%,transparent)}.video-note-play-btn{width:46px;height:46px;margin-bottom:5px;background:#00000073}.video-note-duration,.video-note-time-display,.video-note-speed-btn{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.video-note-time-display{bottom:10px;padding:3px 8px;font-size:11px}.video-note-speed-btn{bottom:10px;right:10px;padding:3px 8px;font-size:11px}.msg.system{max-width:min(78%,520px);margin:8px auto}.msg.system .msg-bubble{padding:5px 10px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);color:var(--text-secondary);font-size:11px;line-height:1.35;box-shadow:none}.typing-indicator{margin-top:4px;padding:8px 11px;border:1px solid var(--border-subtle);border-radius:15px 15px 15px 6px;box-shadow:0 1px 2px #0000001a}.typing-indicator span{width:6px;height:6px}.hidden-msg-placeholder{padding:7px 10px;border-radius:12px;font-size:12px}@media(hover:hover){.msg.in .msg-actions{right:-102px}.msg.out .msg-actions{left:-102px}.msg-actions{padding:2px;border-radius:14px}.msg-actions .icon-btn{width:34px;height:34px}}@media(max-width:720px){.msg{max-width:86%}.msg.in{padding-right:20px}.msg.out{padding-left:20px}.msg-bubble{box-shadow:0 1px 1px #0000001f}.msg-text{padding:7px 10px 5px;font-size:15px;line-height:1.4}.msg-author{margin:7px 10px 1px;font-size:12px}.msg-meta{padding-inline:9px;font-size:10px}.msg-reply{margin:6px 7px 1px;padding:5px 7px}.msg-reactions{margin-inline:3px}.reaction-chip{min-height:26px;padding:3px 7px}.msg-file{min-width:min(245px,72vw);max-width:78vw}.msg-voice{min-width:min(250px,74vw);max-width:78vw;padding-inline:9px}.voice-wave-container{min-width:105px}.video-note-container{width:min(66vw,232px);height:min(66vw,232px)}.msg-day{margin-block:10px}.unread-divider{margin-block:11px}}@media(max-width:390px){.msg{max-width:90%}.msg.in{padding-right:10px}.msg.out{padding-left:10px}.msg-text{font-size:14px}.msg-file{min-width:min(225px,78vw)}.msg-voice{min-width:min(230px,80vw)}.msg-voice-speed{display:none}.video-note-container{width:min(70vw,220px);height:min(70vw,220px)}}@media(hover:none){.msg-actions{display:none!important}.msg-voice-play:hover,.reaction-chip:hover,.msg-file:hover{transform:none}}.modal-backdrop{background:#04090f94;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-sheet{border-color:color-mix(in srgb,var(--border-default) 76%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 98%,var(--accent) 2%),var(--bg-surface));box-shadow:0 24px 72px #0000006b,0 1px #ffffff09 inset}.modal-sheet--narrow{max-width:390px}.modal-sheet--medium{max-width:440px}.modal-sheet--wide{max-width:560px}.modal-header{min-height:58px;padding:10px 14px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border-bottom-color:var(--border-subtle);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modal-header h2,.modal-header h3{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.25;font-weight:750;letter-spacing:-.018em}.modal-header .icon-btn{width:40px;height:40px;min-width:40px;border-radius:12px}.modal-body{padding:16px}.modal-footer,.modal-actions{gap:8px}.modal-footer{padding:12px 16px;background:color-mix(in srgb,var(--bg-surface) 96%,transparent)}#profileModal .modal-body,#groupInfoModal .modal-body{scrollbar-gutter:stable}.profile-form-body{padding:18px 18px 16px}.profile-avatar-wrap{margin-bottom:18px}.profile-avatar-wrap--no-margin{margin:2px auto 18px}#profileAvatar,#groupInfoModal .avatar--96,#groupInfoModal .avatar--80{border:3px solid color-mix(in srgb,var(--bg-surface) 78%,white 22%);box-shadow:0 10px 30px #00000038,inset 0 1px #ffffff1f}.avatar-edit-btn{width:32px;height:32px;bottom:0;right:0;border-width:3px;box-shadow:0 4px 12px #00000047}.modern-input,.form-input,.modal input[type=text],.modal input[type=search],.modal input[type=password],.modal textarea,.modal select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated);color:var(--text-primary);transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.modal textarea{min-height:92px;resize:vertical}.modern-input:hover,.form-input:hover,.modal input:hover,.modal textarea:hover,.modal select:hover{border-color:var(--border-default)}.modern-input:focus,.form-input:focus,.modal input:focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 62%,transparent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-dim)}.form-input-readonly,.modal input[readonly]{color:var(--text-secondary);background:color-mix(in srgb,var(--bg-elevated) 74%,transparent);cursor:default}.form-group,.form-field{margin-bottom:13px}.form-group label,.form-field label,.modal label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px;line-height:1.25;font-weight:650}#profileLastSeen{margin:2px 0 8px;padding:8px 10px!important;border-radius:10px;background:var(--bg-elevated);text-align:center;font-size:12px!important}.form-actions-bottom{margin-top:18px}.group-info-sheet{position:relative;max-height:min(88dvh,820px);overflow:hidden}.group-modal-close{position:absolute;z-index:3;top:12px;right:12px;width:40px;height:40px;min-width:40px;border-radius:50%;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.group-hero{display:flex;flex-direction:column;align-items:center;min-height:210px;padding:28px 58px 20px;border-bottom:1px solid var(--border-subtle);background:radial-gradient(circle at 50% 10%,var(--accent-dim),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 82%,transparent),color-mix(in srgb,var(--bg-surface) 96%,transparent));text-align:center}.group-avatar-wrap{position:relative;display:inline-flex;margin:2px auto 13px}#groupHeroAvatar{width:88px;height:88px;min-width:88px;font-size:31px}.group-hero-title{width:100%;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:21px;line-height:1.25;font-weight:760;letter-spacing:-.025em}.group-hero-meta{min-height:20px;margin-top:5px;color:var(--text-secondary);font-size:13px;line-height:1.4}.group-actions-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 96%,transparent)}.group-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:66px;gap:6px;padding:8px 5px;border:1px solid transparent;border-radius:14px;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:color var(--t-fast),background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.group-action-btn svg{width:21px;height:21px;color:var(--accent)}.group-action-btn span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;font-weight:650}.group-action-btn:hover{border-color:color-mix(in srgb,var(--accent) 22%,var(--border-subtle));background:var(--bg-hover);color:var(--text-primary)}.group-action-btn:active{transform:scale(.975)}.group-action-btn[aria-pressed=true],.group-action-btn.is-editing{border-color:color-mix(in srgb,var(--accent) 36%,transparent);background:var(--accent-dim);color:var(--accent)}.group-section-head{display:flex;align-items:center;min-height:44px;gap:10px;padding:4px 8px 5px}.group-section-title{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:720;text-transform:uppercase;letter-spacing:.045em}.group-members-count{min-width:24px;padding:2px 7px;border-radius:999px;background:var(--accent-dim);color:var(--accent);text-align:center;font-size:11px;line-height:1.45;font-weight:750}.add-member-search{padding:5px 8px 12px}.add-member-search .modern-input{margin-bottom:8px}.add-member-results{max-height:228px;overflow-y:auto;overscroll-behavior:contain}.member-search-state{display:flex;align-items:center;justify-content:center;min-height:72px;gap:8px;padding:14px;color:var(--text-muted);text-align:center;font-size:12px}.member-search-state.is-error{color:var(--danger)}#groupInfoModal .modal-body{padding:12px 14px 18px}#groupInfoModal .modal-body>div:first-child{margin-bottom:14px}#groupInfoModal h3,#groupInfoModal h4,.section-title,.modal-section-title{margin:18px 2px 8px;color:var(--text-secondary);font-size:11px;line-height:1.2;font-weight:750;text-transform:uppercase;letter-spacing:.055em}#membersList{display:flex;flex-direction:column;gap:2px;margin-top:4px}.member-item{display:flex;align-items:center;min-width:0;min-height:58px;gap:11px;padding:7px 8px;border-radius:12px;transition:background-color var(--t-fast),transform var(--t-fast)}.member-item:hover{background:var(--bg-hover)}.member-item:active{background:var(--bg-active);transform:scale(.992)}.member-item .conv-avatar,.member-item .avatar{width:42px;height:42px;min-width:42px;font-size:15px}.member-item>div:not(.conv-avatar):not(.avatar){min-width:0}.member-item .member-info{flex:1;min-width:0}.member-item strong,.member-item .member-name{display:block;overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;font-weight:650}.member-item small,.member-item .member-role,.member-item .member-status{display:block;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3}.member-item .icon-btn,.member-item button{flex-shrink:0}.member-actions{display:flex;align-items:center;flex-shrink:0;gap:4px;margin-left:auto}.member-role-label{display:inline-flex;align-items:center;max-width:100%;gap:2px;color:var(--accent);font-weight:650}.member-role-label[data-role=OWNER]{color:#f3b83f}.member-role-label[data-role=ADMIN]{color:color-mix(in srgb,var(--accent) 76%,#a780ff 24%)}.member-role-label[data-role=MEMBER]{color:var(--text-muted);font-weight:560}.member-status-separator{color:var(--text-muted)}.member-item .member-role-action,.member-item .member-owner-action,.member-item .member-kick-action{width:34px;height:34px;min-width:34px;border-radius:50%}.member-item .member-role-action{color:var(--accent)}.member-item .member-owner-action{color:#f3b83f}.member-item .member-kick-action{color:var(--danger)}.user-result-card{display:flex;align-items:center;min-height:62px;gap:11px;padding:8px;border:1px solid transparent;border-radius:13px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.user-result-card:hover{background:var(--bg-hover)}.user-result-card:active{transform:scale(.992)}.user-result-card.selected{border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:var(--accent-dim)}.user-result-card .conv-avatar{width:44px;height:44px;min-width:44px;overflow:hidden}.user-result-card .conv-avatar img{width:100%;height:100%;object-fit:cover}.search-result-info{flex:1;min-width:0}.search-result-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650}.search-result-login{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}#userSearchResults{display:flex;flex-direction:column;gap:2px;margin-top:8px}.media-tabs{position:sticky;top:0;z-index:3;display:flex!important;gap:4px!important;padding:8px 12px!important;border-bottom:1px solid var(--border-subtle)!important;background:color-mix(in srgb,var(--bg-surface) 95%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.media-tab{min-height:36px;padding:7px 11px!important;border-radius:10px!important;color:var(--text-muted);background:transparent!important;font-size:12px;line-height:1;font-weight:650;transition:background var(--t-fast),color var(--t-fast)}.media-tab:hover{color:var(--text-primary);background:var(--bg-hover)!important}.media-tab.active{color:var(--accent);background:var(--accent-dim)!important}.media-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;color:currentColor;background:color-mix(in srgb,currentColor 10%,transparent);font-size:10px;font-variant-numeric:tabular-nums}.media-content{padding:10px 12px 14px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.media-item{overflow:hidden;border:1px solid var(--border-subtle);border-radius:11px!important;background:var(--bg-elevated)!important;transition:opacity var(--t-fast),transform var(--t-fast),border-color var(--t-fast)}.media-item:hover{border-color:var(--border-default);transform:translateY(-1px)}.media-item.gallery-image,.media-item.gallery-video{position:relative;aspect-ratio:1}.media-item.gallery-image img,.media-item video{display:block;width:100%!important;height:100%!important;object-fit:cover!important}.media-play-overlay{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:#080f18a3;box-shadow:0 4px 18px #0000003d;transform:translate(-50%,-50%)}.media-duration{position:absolute;right:6px;bottom:6px;padding:3px 6px;border-radius:7px;color:#fff;background:#080f18b8;font-size:10px;line-height:1;font-variant-numeric:tabular-nums}.media-item.file-item,.media-item.voice-item{grid-column:1 / -1;display:flex;align-items:center;width:100%;text-align:left;min-height:62px;margin-bottom:3px!important;padding:9px 10px!important;gap:10px!important;border-radius:12px!important}.media-item.file-item .msg-file-icon{width:40px;height:40px;min-width:40px}.media-item.voice-item .msg-voice-play{width:38px!important;height:38px!important;min-width:38px}.media-item-info{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;gap:3px;color:var(--text-primary);text-align:left}.media-item-info strong,.media-item-info small,.media-item.link-item strong,.media-item.link-item small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-item-info small,.media-item.link-item small{color:var(--text-muted);font-size:11px;font-weight:500}.media-grid--files,.media-grid--voice,.media-grid--links{grid-template-columns:minmax(0,1fr)!important}.media-item.link-item{display:flex;min-height:58px;padding:10px 12px;flex-direction:column;justify-content:center;gap:5px;color:var(--accent);text-decoration:none}.media-panel-pagination{display:flex;align-items:center;justify-content:center;padding:14px 4px 2px;flex-wrap:wrap;gap:8px}.media-panel-more{min-height:38px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border-subtle));border-radius:11px;color:var(--accent);background:var(--accent-dim);font-size:12px;font-weight:700}.media-panel-more:disabled{cursor:default;opacity:.62}.media-panel-status,.media-panel-error{flex:0 0 100%;color:var(--text-muted);font-size:11px;text-align:center}.media-panel-error{color:var(--danger)}.search-results-bar{min-height:54px;padding:7px 10px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.search-results-bar input{min-width:0;height:40px;padding:0 12px;border-color:transparent;border-radius:12px;background:var(--bg-elevated)}.search-results-bar input:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-dim)}.search-nav-btn,.search-close-btn{width:38px;height:38px;min-width:38px;border-radius:11px}.search-counter{min-width:54px;color:var(--text-secondary);font-size:11px;font-variant-numeric:tabular-nums}.drawer-panel{width:min(88vw,340px);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 97%,var(--accent) 3%),var(--bg-surface))}.drawer-header{padding:max(26px,env(safe-area-inset-top)) 16px 15px}.drawer-body{padding:6px}.drawer-item{min-height:52px;padding:7px 10px;gap:11px;border-radius:12px}.drawer-item-icon{width:38px;height:38px;border-radius:11px}@media(max-width:720px){.modal{align-items:flex-end}#groupInfoModal{align-items:stretch}#groupInfoModal .group-info-sheet{display:flex;flex-direction:column;width:100%;height:100dvh;max-width:100%;max-height:100dvh;padding-top:env(safe-area-inset-top);border-radius:0}#groupInfoModal .group-info-sheet:before{display:none}#groupInfoModal .group-modal-close{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px;min-width:44px}#groupInfoModal .group-hero{min-height:196px;padding:22px 58px 16px}#groupInfoModal .group-actions-row{padding:10px max(8px,env(safe-area-inset-right)) 10px max(8px,env(safe-area-inset-left))}#groupInfoModal .group-action-btn{min-height:62px}#groupInfoModal .modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-sheet,.modal-sheet--narrow,.modal-sheet--medium,.modal-sheet--wide{width:100%;max-width:100%;max-height:min(92dvh,920px);border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}.modal-sheet:before{width:34px;margin-top:8px}.modal-header{min-height:54px;padding:7px 10px}.modal-header h2,.modal-header h3{font-size:16px}.modal-header .icon-btn{width:42px;height:42px;min-width:42px;border-radius:50%}.modal-body{padding:14px 12px}.profile-form-body{padding:14px 14px 12px}#profileAvatar{width:88px;height:88px;font-size:32px}#groupInfoModal .modal-body{padding:8px 8px 14px}.member-item{min-height:60px;padding:8px}.member-item .conv-avatar,.member-item .avatar{width:44px;height:44px;min-width:44px}.user-result-card{min-height:64px}.media-tabs{padding:7px 8px!important}.media-tab{min-height:38px;padding-inline:12px!important;font-size:13px}.media-content{padding:6px 7px 12px}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important}.media-item{border-radius:8px!important}.search-results-bar{min-height:56px;padding:6px max(6px,env(safe-area-inset-right)) 6px max(6px,env(safe-area-inset-left));gap:4px}.search-results-bar input{height:44px;font-size:16px}.search-nav-btn,.search-close-btn{width:42px;height:42px;min-width:42px;border-radius:50%}.search-counter{min-width:44px;font-size:10px}.drawer-panel{width:min(88vw,330px);padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:420px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.search-counter{display:none}.member-item{gap:9px}.member-item .icon-btn{width:38px;height:38px;min-width:38px}}@media(hover:none){.member-item:hover,.user-result-card:hover,.media-item:hover,.media-tab:hover{transform:none}}:root{--z-header: 30;--z-floating: 120;--z-dropdown: 1200;--z-overlay: 4000;--z-menu: 10000;--z-toast: 11000}.chat-header{z-index:var(--z-header)}.scroll-down-btn{z-index:var(--z-floating)}#overlay-root{z-index:var(--z-overlay)}.chat-dropdown,.context-menu{z-index:var(--z-menu)}.msg-reaction-picker{z-index:calc(var(--z-menu) + 1)}.toast-container{z-index:var(--z-toast)}.chat-dropdown{min-width:250px;max-width:min(320px,calc(100vw - 20px));padding:6px;border:1px solid color-mix(in srgb,var(--border-default) 82%,transparent);border-radius:15px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);box-shadow:0 20px 54px #00000057,0 1px #ffffff09 inset;backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%);transform:translateY(-5px) scale(.985);transition:opacity .14s var(--ease-smooth),transform .18s var(--ease-out),visibility .18s}.chat-dropdown.active{transform:translateY(0) scale(1)}.chat-dropdown-item{min-height:44px;padding:9px 11px;gap:11px;border-radius:10px;font-size:13px;font-weight:550}.chat-dropdown-item svg{width:18px;height:18px;flex-shrink:0;color:var(--text-secondary)}.chat-dropdown-item:hover{background:var(--bg-hover)}.chat-dropdown-item--danger{color:var(--danger)}.chat-dropdown-item--danger svg{color:var(--danger)}.chat-dropdown-divider{margin:4px 5px}.context-menu{min-width:208px;max-width:min(300px,calc(100vw - 16px));padding:6px;border:1px solid color-mix(in srgb,var(--border-default) 82%,transparent);border-radius:15px;background:color-mix(in srgb,var(--bg-surface) 96%,transparent);box-shadow:0 22px 62px #00000061,0 1px #ffffff0a inset;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);transform-origin:top left}.context-menu.active{animation:finalMenuIn .15s var(--ease-out) both}.ctx-item{min-height:43px;padding:8px 10px;gap:10px;border-radius:10px;font-size:13px;font-weight:550}.ctx-item svg{width:17px;height:17px}.ctx-item:hover{background:var(--bg-hover)}.ctx-separator{margin:4px 5px}@keyframes finalMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.reaction-picker,.msg-reaction-picker{gap:3px;padding:5px 6px;border:1px solid color-mix(in srgb,var(--border-default) 84%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);box-shadow:0 18px 44px #00000057,0 1px #ffffff0b inset;backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%)}.reaction-btn,.reaction-picker-btn{width:38px;height:38px;min-width:38px;border-radius:50%;font-size:20px;transition:background .1s ease,transform .13s var(--ease-spring)}.reaction-btn:hover,.reaction-picker-btn:hover{background:var(--bg-hover);transform:translateY(-2px) scale(1.13)}.reaction-btn:active,.reaction-picker-btn:active{transform:scale(.92)}@media(max-width:720px){.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none;padding:7px;border-radius:18px;transform-origin:bottom center}.context-menu.mobile-sheet.active,.context-menu[data-mobile-sheet=true].active{animation:finalSheetIn .22s var(--ease-out) both}.context-menu.mobile-sheet .ctx-item,.context-menu[data-mobile-sheet=true] .ctx-item{min-height:50px;padding:10px 12px;font-size:15px}.context-menu.mobile-sheet .ctx-item svg,.context-menu[data-mobile-sheet=true] .ctx-item svg{width:20px;height:20px}.msg-reaction-picker{max-width:calc(100vw - 12px);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.msg-reaction-picker::-webkit-scrollbar{display:none}.reaction-picker-btn{width:42px;height:42px;min-width:42px;font-size:21px}}@keyframes finalSheetIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-section,.settings-group,.preference-section{margin:0 0 18px}.settings-section-title,.settings-group-title,.preference-title{margin:0 4px 8px;color:var(--text-muted);font-size:11px;line-height:1.2;font-weight:750;text-transform:uppercase;letter-spacing:.055em}.settings-list,.preference-list{overflow:hidden;border:1px solid var(--border-subtle);border-radius:15px;background:color-mix(in srgb,var(--bg-elevated) 72%,transparent)}.settings-item,.setting-item,.preference-item{display:flex;align-items:center;min-height:56px;gap:12px;padding:9px 12px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--t-fast)}.settings-item:last-child,.setting-item:last-child,.preference-item:last-child{border-bottom:0}.settings-item:hover,.setting-item:hover,.preference-item:hover{background:var(--bg-hover)}.settings-item-icon,.setting-item-icon,.preference-item-icon{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border-radius:11px;background:var(--bg-overlay);color:var(--text-secondary)}.settings-item-content,.setting-item-content,.preference-item-content{flex:1;min-width:0}.settings-item-title,.setting-item-title,.preference-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;font-weight:620}.settings-item-subtitle,.setting-item-subtitle,.preference-item-subtitle{margin-top:2px;overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3}.toggle,.switch{width:44px;height:26px;flex-shrink:0;position:relative;border-radius:999px;background:var(--bg-overlay);transition:background .16s ease}.toggle:after,.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000040;transition:transform .18s var(--ease-out)}.toggle.active,.toggle.checked,.switch.active,.switch.checked,input:checked+.toggle,input:checked+.switch{background:var(--accent)}.toggle.active:after,.toggle.checked:after,.switch.active:after,.switch.checked:after,input:checked+.toggle:after,input:checked+.switch:after{transform:translate(18px)}.btn{min-height:42px;border-radius:12px;font-weight:620}.btn--primary{box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 24%,transparent)}.btn--primary:hover{transform:translateY(-1px)}.btn--ghost{background:color-mix(in srgb,var(--bg-elevated) 76%,transparent)}.icon-btn{touch-action:manipulation}.toast-container{bottom:max(18px,env(safe-area-inset-bottom));width:min(92vw,420px)}.toast{width:fit-content;max-width:100%;min-height:42px;padding:9px 13px;border-radius:13px;background:color-mix(in srgb,var(--bg-surface) 94%,transparent);box-shadow:0 14px 36px #0000004d,0 1px #ffffff0a inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:13px}.toast.success,.toast.error,.toast.info{color:var(--text-primary)}.toast.success svg{color:var(--success)}.toast.error svg{color:var(--danger)}.toast.info svg{color:var(--accent)}.connection-banner,.ws-status-banner,.offline-banner{min-height:38px;padding:7px 12px;background:color-mix(in srgb,var(--warning) 16%,var(--bg-surface));border-bottom:1px solid color-mix(in srgb,var(--warning) 24%,transparent);color:var(--text-primary);text-align:center;font-size:12px;font-weight:600}.skeleton,.skeleton-line,.skeleton-avatar,.skeleton-bubble{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--bg-elevated) 0%,color-mix(in srgb,var(--bg-overlay) 82%,white 3%) 48%,var(--bg-elevated) 100%);background-size:220% 100%;animation:finalShimmer 1.35s linear infinite}.skeleton-avatar{border-radius:50%}.skeleton-line{min-height:10px;border-radius:999px}.skeleton-bubble{border-radius:16px;box-shadow:none}.loading-spinner,.spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.loading-state,.empty-state,.panel-empty,.search-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--text-muted);text-align:center}.loading-state svg,.empty-state svg,.panel-empty svg,.search-empty svg{width:38px;height:38px;color:var(--text-muted);opacity:.7}@keyframes finalShimmer{0%{background-position:200% 0}to{background-position:-20% 0}}.photo-viewer-backdrop{background:#020509f0}.photo-viewer-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));background:#121820b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.photo-viewer-controls{bottom:max(18px,env(safe-area-inset-bottom));border-radius:16px;background:#121820b8}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 82%,white 18%);outline-offset:2px}[aria-disabled=true],.disabled{cursor:default!important}@media(min-width:1100px){:root{--sidebar-w: 360px}.messages,.composer-row,.reply-preview,.attachment-preview{max-width:940px}}@media(min-width:1600px){:root{--sidebar-w: 390px}.messages,.composer-row,.reply-preview,.attachment-preview{max-width:1040px}}@media(min-width:721px)and (max-width:980px){:root{--sidebar-w: 310px}.sidebar-title{font-size:17px}.conv-avatar{width:46px;height:46px}.messages{padding-inline:12px}.msg{max-width:82%}}@media(max-width:720px){body{overscroll-behavior:none}#app,.app-layout,.chat-layout,.sidebar,.chat-pane,.chat-view{min-height:0}.sidebar,.chat-pane{height:100dvh}.chat-pane:before{opacity:.45}.chat-dropdown{max-height:min(70dvh,520px);overflow-y:auto;overscroll-behavior:contain}.modal-backdrop{align-items:flex-end}.modal-sheet,.modal-sheet--narrow,.modal-sheet--medium,.modal-sheet--wide{max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));border-radius:22px 22px 0 0}.modal-body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.modal-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.settings-item,.setting-item,.preference-item{min-height:60px}.toast-container{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));width:auto;transform:none;align-items:stretch}.toast{width:100%;justify-content:flex-start}.photo-viewer-content{padding:calc(54px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.photo-viewer-controls{bottom:calc(12px + env(safe-area-inset-bottom))}.btn{min-height:44px}}@media(max-width:360px){.sidebar-header,.chat-header{gap:0}.sidebar-header .icon-btn,.chat-header .icon-btn,.chat-call-buttons .icon-btn,#toggleChatSearchBtn,#chatMenuBtn{width:40px;height:40px;min-width:40px}.chat-title{font-size:13px}.chat-status{font-size:10px}.media-tab{padding-inline:9px!important}.context-menu.mobile-sheet .ctx-item,.context-menu[data-mobile-sheet=true] .ctx-item{min-height:48px;font-size:14px}}@media(hover:none){.chat-dropdown-item:hover,.ctx-item:hover,.settings-item:hover,.setting-item:hover,.preference-item:hover,.btn--primary:hover,.icon-btn:hover{transform:none}.reaction-btn:hover,.reaction-picker-btn:hover{transform:none;background:transparent}.reaction-btn:active,.reaction-picker-btn:active{background:var(--bg-active);transform:scale(.92)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.skeleton,.skeleton-line,.skeleton-avatar,.skeleton-bubble{animation:none!important}}@media print{.sidebar,.chat-header,.composer,.scroll-down-btn,.msg-actions,.msg-quick-reactions{display:none!important}#app,.app-layout,.chat-layout,.chat-pane,.chat-view,.messages-scroll{height:auto!important;overflow:visible!important}.msg{break-inside:avoid}}@media(forced-colors:active){.msg-bubble,.modal-sheet,.chat-dropdown,.context-menu,.reaction-picker,.msg-reaction-picker{border:1px solid CanvasText}}.msg{--swipe-x: 0px;--swipe-progress: 0}.msg.is-swiping{touch-action:pan-y;transform:translate3d(var(--swipe-x),0,0);transition:none!important;will-change:transform}.msg.swipe-returning{transform:translateZ(0);transition:transform .18s cubic-bezier(.22,.8,.25,1)!important}.msg:before{content:"";position:absolute;top:50%;left:-42px;width:30px;height:30px;border-radius:50%;opacity:var(--swipe-progress);transform:translateY(-50%) scale(calc(.72 + var(--swipe-progress) * .28));background:var(--accent) center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 17-5-5 5-5'/%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'/%3E%3C/svg%3E");box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent);pointer-events:none;transition:opacity 80ms linear,transform 80ms linear}.msg.swipe-ready:before{transform:translateY(-50%) scale(1.08)}.msg.swipe-committed:before{animation:stage2ReplyPulse .21s ease-out}@keyframes stage2ReplyPulse{50%{transform:translateY(-50%) scale(1.2)}}@media(hover:none),(pointer:coarse){.msg{touch-action:pan-y}.msg-reaction-picker{animation:stage2PickerIn .15s cubic-bezier(.2,.8,.25,1) both}}@keyframes stage2PickerIn{0%{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.chat-header{min-width:0;padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.chat-header-main,.chat-header-info,.chat-header-title-wrap{min-width:0;overflow:hidden}.chat-header-actions{flex:0 0 auto;gap:0}.chat-header-actions .icon-btn{width:40px;height:40px;min-width:40px}.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{box-sizing:border-box;left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin}.context-menu.mobile-sheet .ctx-item,.context-menu[data-mobile-sheet=true] .ctx-item{width:100%;min-height:50px}.chat-dropdown{box-sizing:border-box;max-width:calc(100vw - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right)))}.messages-scroll,.messages,.composer,.composer-row{max-width:100%;min-width:0}#connectionIndicator{display:none!important}}#videoCircleBtn{position:relative}#videoCircleBtn:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid currentColor;border-radius:50%;opacity:.26;pointer-events:none}.video-note-wrapper,.video-note{contain:layout paint}.video-note-wrapper[data-status=PENDING],.msg[data-status=PENDING] .video-note-wrapper{opacity:.78}.video-note-wrapper[data-status=FAILED],.msg[data-status=FAILED] .video-note-wrapper{outline:2px solid var(--danger);outline-offset:2px}.voice-recorder:not(.hidden)+.composer-row,.voice-recorder:not(.hidden)~.composer-row{pointer-events:none}@media(max-width:720px){#videoCircleBtn,#composerActionBtn{touch-action:manipulation}}@media(max-width:720px){.chat-header{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto;align-items:center;gap:2px;overflow:visible}.chat-info{min-width:0;overflow:hidden;z-index:1}.chat-info .chat-avatar{flex:0 0 40px}.search-in-chat-wrap{position:static!important;inset:auto!important;z-index:auto!important;width:auto;pointer-events:auto}.search-in-chat-input.search-inactive{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden;pointer-events:none!important}.chat-header.search-active{grid-template-columns:minmax(0,1fr) auto}.chat-header.search-active>:not(.search-in-chat-wrap):not(.chat-menu-wrap){display:none!important}.chat-header.search-active .search-in-chat-wrap{grid-column:1 / 2;display:flex;width:100%}.chat-header.search-active .search-in-chat-input{position:static!important;width:100%!important;opacity:1!important;pointer-events:auto!important}.chat-menu-wrap,#chatMenuBtn{position:relative;z-index:12;pointer-events:auto!important}}.pinned-bar.hidden-by-profile{display:none!important}.chat-search-close{display:none;flex:0 0 auto}.chat-header.search-active .chat-search-close:not(.hidden){display:inline-flex}.attach-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:none}.attach-sheet.active{display:block}.attach-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000006b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.attach-sheet-panel{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:8px;border-radius:18px;background:var(--bg-elevated, #fff);box-shadow:0 18px 60px #0000003d;animation:attachSheetIn .18s cubic-bezier(.2,.8,.25,1)}.attach-sheet-panel button{width:100%;min-height:52px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;padding:0 16px;font:inherit}.attach-sheet-panel button:active{background:var(--bg-hover, rgba(127,127,127,.12))}@keyframes attachSheetIn{0%{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:720px){.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;transform:none!important;margin:0!important}.chat-header.search-active #chatSearchInput{left:48px;right:48px;width:auto}}.msg-bubble.is-swiping{transform:translate3d(var(--swipe-x, 0px),0,0)!important;transition:none!important;will-change:transform}.msg-bubble.swipe-returning{transform:translateZ(0)!important;transition:transform .2s cubic-bezier(.22,.8,.25,1)!important}@media(max-width:720px),(hover:none),(pointer:coarse){.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{position:fixed!important;inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;transform:none!important;translate:none!important;margin:0!important;box-sizing:border-box!important;z-index:13001!important}}.msg-bubble{--swipe-x: 0px;--swipe-progress: 0;position:relative}.msg-bubble.is-swiping{transform:translate3d(var(--swipe-x),0,0)!important;transition:none!important;will-change:transform}.msg-bubble.swipe-returning{transform:translateZ(0)!important;transition:transform .21s cubic-bezier(.22,.8,.25,1)!important}.msg-bubble:after{content:"";position:absolute;top:50%;left:-40px;width:30px;height:30px;border-radius:50%;opacity:var(--swipe-progress);transform:translateY(-50%) scale(calc(.72 + var(--swipe-progress) * .28));background:var(--accent) center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 17-5-5 5-5'/%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'/%3E%3C/svg%3E");box-shadow:0 4px 14px #0000002e;pointer-events:none;transition:opacity 80ms linear,transform 80ms linear}.msg-bubble.swipe-ready:after{transform:translateY(-50%) scale(1.08)}.context-reactions{display:grid;grid-template-columns:repeat(6,minmax(38px,1fr));gap:4px;padding:8px;border-bottom:1px solid var(--border-subtle)}.context-reaction-btn{width:100%;min-width:38px;height:42px;border:0;border-radius:12px;background:transparent;font-size:23px;line-height:1}.context-reaction-btn:active{background:var(--bg-hover, rgba(127,127,127,.12))}@media(max-width:720px),(hover:none),(pointer:coarse){.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{position:fixed!important;display:block!important;visibility:visible!important;opacity:1!important;inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;margin:0!important;transform:none!important;translate:none!important;overflow-x:hidden!important;overflow-y:auto!important;box-sizing:border-box!important;z-index:14000!important}.context-reactions{position:sticky;top:0;z-index:1;background:inherit}.context-menu.mobile-sheet .ctx-item,.context-menu[data-mobile-sheet=true] .ctx-item{width:100%!important;min-height:48px}}.selected-user-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;color:var(--accent);font-size:13px;font-weight:500;background:var(--accent-dim);border-radius:999px}.selected-user-chip__remove{display:inline-grid;width:20px;height:20px;padding:0;color:inherit;font:inherit;font-size:18px;line-height:1;cursor:pointer;background:transparent;border:0;border-radius:50%;place-items:center}.selected-user-chip__remove:hover,.selected-user-chip__remove:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent);outline:none}.msg-reactions.reaction-strip-enter{animation:nmm-reaction-strip-in .17s cubic-bezier(.2,.8,.2,1);transform-origin:center bottom}.reaction-chip{contain:layout paint}.reaction-chip__emoji,.reaction-chip__count{display:inline-block;pointer-events:none}.reaction-chip__emoji{transform-origin:center}.reaction-chip:active .reaction-chip__emoji{transform:scale(.88)}@keyframes nmm-reaction-strip-in{0%{opacity:0;transform:translateY(3px) scale(.92)}70%{opacity:1;transform:translateY(0) scale(1.035)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.msg-reactions.reaction-strip-enter{animation:none}}.message-gesture-surface{touch-action:pan-y}.msg-bubble.is-swiping{will-change:transform}.msg-bubble.swipe-ready:after{opacity:1;transform:translateY(-50%) scale(1)}.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;border-radius:18px;max-height:min(56dvh,430px)!important;overflow-y:auto;overscroll-behavior:contain}.context-menu.mobile-sheet .context-reactions,.context-menu[data-mobile-sheet=true] .context-reactions,.context-menu.mobile-sheet .ctx-separator,.context-menu[data-mobile-sheet=true] .ctx-separator{grid-column:1 / -1}.context-menu.mobile-sheet .context-reactions,.context-menu[data-mobile-sheet=true] .context-reactions{display:flex;justify-content:space-between;gap:4px;padding:2px 2px 7px}.context-menu.mobile-sheet .context-reaction-btn,.context-menu[data-mobile-sheet=true] .context-reaction-btn{width:40px;height:40px;border-radius:12px;font-size:21px}.context-menu.mobile-sheet .ctx-item,.context-menu[data-mobile-sheet=true] .ctx-item{min-height:43px;padding:8px 10px;border-radius:12px;font-size:13px;gap:8px}.context-menu.mobile-sheet .ctx-item svg,.context-menu[data-mobile-sheet=true] .ctx-item svg{width:18px;height:18px}.forward-chat-item[aria-busy=true]{opacity:.58;pointer-events:none}.forward-chat-item[aria-busy=true]:after{content:"";width:16px;height:16px;margin-left:auto;border:2px solid color-mix(in srgb,currentColor 24%,transparent);border-top-color:currentColor;border-radius:50%;animation:nmm-forward-spin .7s linear infinite}.pinned-bar-content{min-width:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}@keyframes nmm-forward-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.context-menu.mobile-sheet,.context-menu[data-mobile-sheet=true]{left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;max-height:min(54dvh,410px)!important}}@media(prefers-reduced-motion:reduce){.forward-chat-item[aria-busy=true]:after{animation:none}}.msg-voice{width:min(360px,calc(100vw - 132px));min-width:220px;max-width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;overflow:hidden}.msg-voice-body{min-width:0;overflow:hidden}.voice-wave-container{position:relative;width:100%;min-width:0;height:28px;overflow:hidden}.voice-wave-bg,.voice-wave-fg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:28px;pointer-events:none}.voice-wave-fg{z-index:1}.voice-wave-progress{display:contents}.msg-voice-play{width:40px;height:40px;min-width:40px;padding:0;border:0;border-radius:50%}.msg-voice-time{min-width:0;margin-top:1px;overflow:hidden;color:var(--text-muted);font-size:10px;line-height:1.2;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.msg-voice-speed{min-width:34px;padding:4px 7px;border:0;border-radius:999px;background:color-mix(in srgb,var(--bg-overlay) 82%,transparent);font-size:10px;line-height:1}.video-note-container{--video-note-size: clamp(190px, 30vw, 248px);position:relative;display:grid;grid-template-rows:var(--video-note-size) auto;gap:7px;width:var(--video-note-size);height:auto;margin:0;padding:0;overflow:visible;border:0;border-radius:50%;background:transparent;box-shadow:none;filter:none}.video-note-wrapper{position:relative;width:100%;height:var(--video-note-size);overflow:hidden;border:0;border-radius:50%;background:#080b10;box-shadow:0 5px 18px #0000003d;cursor:pointer;isolation:isolate}.video-note-container .video-note{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-height:none;display:block;border:0;border-radius:inherit;object-fit:cover;transform:translateZ(0) scaleX(-1)}.video-note-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;border-radius:inherit;background:linear-gradient(180deg,#00000014,#0000004d);transition:opacity .16s ease;pointer-events:none}.video-note-wrapper.is-playing .video-note-overlay{opacity:0}.video-note-play-btn{width:48px;height:48px;display:grid;place-items:center;margin:0;border-radius:50%;background:#00000080;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.video-note-progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);pointer-events:none}.video-note-progress-track,.video-note-progress-value{fill:none;stroke-width:2.4;vector-effect:non-scaling-stroke}.video-note-progress-track{stroke:#ffffff38}.video-note-progress-value{stroke:var(--accent);stroke-linecap:round;transition:none}.video-note-meta{position:static;z-index:auto;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;width:100%;padding:0 5px;pointer-events:auto}.video-note-time-display,.video-note-speed-btn{position:static;transform:none;margin:0;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);color:var(--text-primary);font-size:10px;font-weight:650;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.video-note-time-display{max-width:100%;padding:5px 8px;overflow:hidden;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.circle-bubble>.msg-meta{width:100%;margin-top:3px;margin-bottom:0;padding:0 6px;color:var(--text-muted)!important}.video-note-speed-btn{min-width:34px;padding:5px 7px;cursor:pointer;pointer-events:auto}.video-note-speed-btn:hover{background:#000000ad;transform:none}@media(max-width:720px){.msg-voice{width:min(310px,calc(100vw - 96px));min-width:190px;grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.msg-voice-play{width:38px;height:38px;min-width:38px}.video-note-container{--video-note-size: clamp(178px, 58vw, 230px)}}.motion-message-enter{animation:nmm-message-enter var(--motion-slow) var(--motion-ease-standard) both;transform-origin:center bottom}.motion-popover-enter{animation:nmm-popover-enter var(--motion-base) var(--motion-ease-emphasized) both;transform-origin:var(--motion-origin-x, 50%) var(--motion-origin-y, 0%)}.motion-sheet-enter{animation:nmm-sheet-enter var(--motion-slow) var(--motion-ease-standard) both;transform-origin:center bottom}.motion-emphasis{animation:nmm-emphasis var(--motion-base) var(--motion-ease-emphasized) both}.motion-reaction-pop{animation:nmm-reaction-pop var(--motion-base) var(--motion-ease-emphasized) both;transform-origin:center}.motion-message-highlight{animation:nmm-message-highlight .9s var(--motion-ease-standard) both}.msg-bubble.swipe-ready{animation:nmm-swipe-ready .42s var(--motion-ease-standard) infinite alternate}.context-menu,.msg-reaction-picker,.dropdown,.modal,.panel{backface-visibility:hidden}@keyframes nmm-message-enter{0%{opacity:0;transform:translateY(var(--motion-distance-md)) scale(.975)}65%{opacity:1;transform:translateY(-1px) scale(1.004)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes nmm-popover-enter{0%{opacity:0;transform:translateY(calc(var(--motion-distance-sm) * -1)) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes nmm-sheet-enter{0%{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes nmm-emphasis{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes nmm-reaction-pop{0%{opacity:.5;transform:scale(.72)}68%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@keyframes nmm-message-highlight{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}24%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 70%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes nmm-swipe-ready{0%{filter:brightness(1)}to{filter:brightness(1.045)}}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 1ms;--motion-base: 1ms;--motion-slow: 1ms}*,*:before,*:after{scroll-behavior:auto!important}.motion-message-enter,.motion-popover-enter,.motion-sheet-enter,.motion-emphasis,.motion-reaction-pop,.motion-message-highlight,.msg-bubble.swipe-ready{animation:none!important}}html[data-theme=amoled]{color-scheme:dark;--bg-base: #000000;--bg-surface: #070707;--bg-elevated: #0d0d0d;--bg-overlay: #141414;--bg-hover: rgba(255, 255, 255, .055);--bg-active: rgba(255, 255, 255, .1);--bg-glass: rgba(0, 0, 0, .84);--border-subtle: rgba(255, 255, 255, .07);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--text-primary: #f5f7fa;--text-secondary: #a3b2c0;--text-muted: #65727e;--msg-in-bg: #101010;--msg-out-bg: #123c62;--msg-out-text: #f4f9ff;--shadow-xs: none;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .75);--shadow-md: 0 8px 24px rgba(0, 0, 0, .8);--shadow-lg: 0 18px 52px rgba(0, 0, 0, .9)}html[data-theme]{background:var(--bg-base)}html[data-theme] body,html[data-theme] .app-shell{transition:background-color var(--motion-slow) var(--motion-ease-standard),color var(--motion-base) var(--motion-ease-standard)}@media(prefers-reduced-motion:reduce){html[data-theme] body,html[data-theme] .app-shell{transition:none}}html{--layout-sidebar-width: var(--sidebar-w);--layout-content-gap: 0px;--layout-density-scale: 1}html[data-density=compact]{--layout-density-scale: .88;--sidebar-w: 300px;--header-h: 48px;--composer-h: 54px}html[data-layout=classic]{--layout-sidebar-width: var(--sidebar-w)}html[data-layout=compact]{--layout-sidebar-width: 300px}html[data-layout=bottom-tabs]{--layout-sidebar-width: var(--sidebar-w)}html[data-layout] body{--nmm-layout-id: attr(data-layout)}@media(max-width:768px){html[data-navigation=bottom]{--nmm-bottom-navigation-height: 58px}html[data-navigation=bottom] .chat-composer,html[data-navigation=bottom] #composer{margin-bottom:env(safe-area-inset-bottom,0px)}}#messages{overflow-anchor:none}#messages>.msg,#messages>.msg-day{contain:layout style}.msg[data-render-key]{content-visibility:auto;contain-intrinsic-size:auto 72px}.msg-day[data-render-key]{content-visibility:auto;contain-intrinsic-size:auto 32px}@media(max-width:720px){.msg[data-render-key]{contain-intrinsic-size:auto 64px}}:root{--nmm-glass: color-mix(in srgb, var(--bg-surface) 88%, transparent);--nmm-glass-strong: color-mix(in srgb, var(--bg-surface) 96%, transparent);--nmm-hairline: color-mix(in srgb, var(--border-default) 72%, transparent);--nmm-accent-glow: color-mix(in srgb, var(--accent) 22%, transparent);--nmm-bubble-in: color-mix(in srgb, var(--bg-elevated) 94%, var(--accent) 2%);--nmm-bubble-out: color-mix(in srgb, var(--accent) 86%, #0a5baa)}.chat-messages-area{background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 32%),radial-gradient(circle at 88% 82%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 35%),var(--bg-base)}.chat-messages-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--chat-wallpaper, url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='320'%20viewBox='0%200%20320%20320'%3e%3crect%20width='320'%20height='320'%20fill='%230b111a'/%3e%3cg%20fill='none'%20stroke='%234aa8ff'%20stroke-opacity='.10'%20stroke-width='1.4'%3e%3cpath%20d='M24%2044h72l18%2018h58l18-18h106'/%3e%3cpath%20d='M40%20122h44l22%2022h108l22-22h44'/%3e%3cpath%20d='M18%20230h70l18-18h108l18%2018h70'/%3e%3ccircle%20cx='70'%20cy='78'%20r='10'/%3e%3ccircle%20cx='250'%20cy='260'%20r='10'/%3e%3crect%20x='138'%20y='34'%20width='44'%20height='44'%20rx='14'/%3e%3crect%20x='138'%20y='242'%20width='44'%20height='44'%20rx='14'/%3e%3c/g%3e%3cg%20fill='%234aa8ff'%20fill-opacity='.12'%3e%3ccircle%20cx='24'%20cy='44'%20r='3'/%3e%3ccircle%20cx='296'%20cy='44'%20r='3'/%3e%3ccircle%20cx='40'%20cy='122'%20r='3'/%3e%3ccircle%20cx='280'%20cy='122'%20r='3'/%3e%3ccircle%20cx='18'%20cy='230'%20r='3'/%3e%3ccircle%20cx='302'%20cy='230'%20r='3'/%3e%3c/g%3e%3c/svg%3e"));background-size:var(--chat-wallpaper-size, 320px 320px);background-position:center;background-repeat:repeat;opacity:var(--chat-wallpaper-opacity, .42);filter:brightness(calc(1 - var(--chat-wallpaper-dim, 0)));transition:opacity .22s var(--ease-out),filter .22s var(--ease-out)}.chat-messages-area:after{background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-base) 5%,transparent),transparent 18%,transparent 80%,color-mix(in srgb,var(--bg-base) 8%,transparent));-webkit-mask-image:none;mask-image:none;opacity:1}.conversation-item{border:1px solid transparent;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),transform .16s var(--ease-spring)}.conversation-item:hover{border-color:var(--nmm-hairline);transform:translate(2px)}.conversation-item.active{background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 18%,var(--bg-elevated)),color-mix(in srgb,var(--accent) 8%,var(--bg-elevated)));border-color:color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 10%,transparent),inset 3px 0 0 var(--accent)}.msg{--bubble-enter-offset: 7px}.msg-bubble,.message-bubble{border:1px solid var(--nmm-hairline);background:var(--nmm-bubble-in);box-shadow:0 2px 8px #00000014,inset 0 1px #ffffff09}.msg.out .msg-bubble,.msg-out .msg-bubble,.message.out .message-bubble{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--nmm-bubble-out) 94%,white 4%),var(--nmm-bubble-out));color:#fff;box-shadow:0 6px 18px var(--nmm-accent-glow),inset 0 1px #ffffff1f}.msg-reactions{gap:5px;margin-top:4px}.reaction-chip{min-height:27px;padding:3px 8px;border:1px solid var(--nmm-hairline);background:var(--nmm-glass-strong);box-shadow:0 3px 10px #00000014;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.reaction-chip.mine{border-color:color-mix(in srgb,var(--accent) 48%,transparent);background:color-mix(in srgb,var(--accent) 18%,var(--bg-surface))}.composer{background:var(--nmm-glass);border-top-color:var(--nmm-hairline);backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}.composer-row{padding:4px;border:1px solid var(--nmm-hairline);border-radius:22px;background:color-mix(in srgb,var(--bg-surface) 82%,transparent);box-shadow:0 10px 30px #0000001a,inset 0 1px #ffffff0a}#textInput{border:0;background:transparent;box-shadow:none}#textInput:hover,#textInput:focus{border:0;background:transparent;box-shadow:none}.composer-action-btn{box-shadow:0 7px 20px var(--nmm-accent-glow),inset 0 1px #ffffff2e}.pinned-bar{margin:6px 10px 0;border:1px solid var(--nmm-hairline);border-radius:14px;background:var(--nmm-glass);box-shadow:0 8px 24px #00000014}.wallpaper-sheet{width:min(94vw,720px);max-width:720px;max-height:min(90vh,760px)}.wallpaper-body{display:grid;gap:16px}.wallpaper-eyebrow{margin:0 0 3px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.wallpaper-preview{--preview-wallpaper-opacity: .55;--preview-wallpaper-dim: 0;position:relative;min-height:190px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px;border:1px solid var(--nmm-hairline);border-radius:22px;background-color:var(--bg-base);background-position:center;background-repeat:repeat}.wallpaper-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:rgba(0,0,0,var(--preview-wallpaper-dim))}.wallpaper-preview__bubble{position:relative;z-index:1;width:fit-content;max-width:78%;padding:9px 12px;border-radius:15px;font-size:13px;box-shadow:0 5px 18px #00000024}.wallpaper-preview__bubble--in{align-self:flex-start;background:var(--bg-surface)}.wallpaper-preview__bubble--out{align-self:flex-end;background:var(--accent);color:#fff}.wallpaper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}.wallpaper-card{min-width:0;overflow:hidden;padding:0;border:1px solid var(--nmm-hairline);border-radius:15px;background:var(--bg-elevated);color:var(--text-primary);text-align:left;transition:transform .15s var(--ease-spring),border-color .15s ease,box-shadow .15s ease}.wallpaper-card:hover{transform:translateY(-2px)}.wallpaper-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.wallpaper-card__preview{display:block;height:82px;background-color:var(--bg-base);background-position:center;background-repeat:repeat}.wallpaper-card__label{display:block;padding:8px 9px;overflow:hidden;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.wallpaper-upload{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px dashed color-mix(in srgb,var(--accent) 44%,var(--border-default));border-radius:15px;background:var(--accent-dim);color:var(--text-primary);text-align:left}.wallpaper-upload__icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--accent);color:#fff;font-size:22px}.wallpaper-upload span:last-child{display:grid;gap:2px}.wallpaper-upload small{color:var(--text-muted)}.wallpaper-controls{display:grid;gap:12px;padding:14px;border:1px solid var(--nmm-hairline);border-radius:15px;background:var(--bg-elevated)}.wallpaper-control{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;font-size:12px}.wallpaper-control output{color:var(--accent);font-weight:700}.wallpaper-control input{grid-column:1 / -1;width:100%}@media(max-width:720px){.conversation-item:hover{transform:none}.composer-row{border-radius:20px}.pinned-bar{margin-inline:6px}.wallpaper-sheet{width:100%;max-width:none;max-height:92vh;border-radius:24px 24px 0 0}.wallpaper-preview{min-height:150px;padding:16px}.wallpaper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.conversation-item,.wallpaper-card{transition:none}}:root{--nmm-control-height: 44px;--nmm-composer-radius: 22px;--nmm-message-radius: 18px;--nmm-message-tail-radius: 7px;--nmm-surface-glass: color-mix(in srgb, var(--bg-surface) 88%, transparent);--nmm-surface-glass-strong: color-mix(in srgb, var(--bg-surface) 96%, transparent);--nmm-focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.chat-list-page{padding:8px}.conv-item{position:relative;min-height:74px;padding:10px 11px;border:1px solid transparent;border-radius:16px;overflow:hidden;isolation:isolate}.conv-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 55%);opacity:0;transition:opacity .18s var(--ease-out)}.conv-item:hover:before{opacity:.55}.conv-item.active{border-color:color-mix(in srgb,var(--accent) 24%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--bg-elevated)),color-mix(in srgb,var(--accent) 7%,var(--bg-elevated)));box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 82%,white 4%),0 8px 24px color-mix(in srgb,var(--accent) 8%,transparent)}.conv-item.active:before{opacity:.7}.conv-avatar{width:48px;height:48px;min-width:48px;border:1px solid color-mix(in srgb,white 14%,transparent);box-shadow:0 5px 16px #00000024,inset 0 0 0 1px #ffffff14}.conv-name{font-size:14px;font-weight:720;letter-spacing:-.012em}.conv-last{color:var(--text-secondary);line-height:1.35}.conv-time{font-size:11px;font-variant-numeric:tabular-nums}.conv-item .badge{min-width:20px;height:20px;padding-inline:6px;border:2px solid color-mix(in srgb,var(--bg-surface) 88%,transparent);border-radius:999px;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 22%,transparent)}.online-badge{width:13px;height:13px;border-width:3px;box-shadow:0 0 0 2px color-mix(in srgb,#36d27c 18%,transparent)}.chat-header{background:linear-gradient(to bottom,var(--nmm-surface-glass-strong),var(--nmm-surface-glass))}.chat-info{transition:background .16s var(--ease-out),transform .16s var(--ease-spring)}.chat-info:active{transform:scale(.985)}.pinned-bar{min-height:48px;margin:8px 12px 0;padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border-subtle));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--nmm-surface-glass-strong)),var(--nmm-surface-glass));box-shadow:0 8px 24px #00000014;backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15)}.pinned-bar:before{width:3px;border-radius:999px;background:linear-gradient(to bottom,var(--accent),var(--accent-strong))}.composer{padding:8px 12px max(9px,env(safe-area-inset-bottom));border-top:0;background:linear-gradient(to top,color-mix(in srgb,var(--bg-surface) 97%,transparent),color-mix(in srgb,var(--bg-surface) 82%,transparent));backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)}.composer-row{min-height:52px;padding:4px;gap:3px;border:1px solid color-mix(in srgb,var(--border-default) 76%,transparent);border-radius:25px;background:color-mix(in srgb,var(--bg-elevated) 93%,transparent);box-shadow:0 10px 30px #0000001a,inset 0 1px #ffffff0a;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),background .18s var(--ease-out)}.composer-row:focus-within{border-color:color-mix(in srgb,var(--accent) 52%,transparent);background:color-mix(in srgb,var(--bg-elevated) 98%,transparent);box-shadow:var(--nmm-focus-ring),0 12px 34px #0000001f}.composer-row>.icon-btn{width:var(--nmm-control-height);height:var(--nmm-control-height);min-width:var(--nmm-control-height);border-radius:50%}#textInput{min-height:42px;max-height:144px;padding:11px 7px 9px;border:0;background:transparent;line-height:1.45;resize:none}#textInput:focus{outline:none;box-shadow:none}.composer-action-btn{width:44px;height:44px;min-width:44px;border-radius:50%;box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 28%,transparent);transition:transform .15s var(--ease-spring),box-shadow .15s var(--ease-out),filter .15s var(--ease-out)}.composer-action-btn:hover{filter:brightness(1.06);box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 36%,transparent)}.composer-action-btn:active{transform:scale(.9)}.msg{--group-gap: 3px;max-width:min(78%,660px)}.msg+.msg{margin-top:var(--group-gap)}.msg[data-group-position=first]{margin-bottom:0}.msg[data-group-position=middle],.msg[data-group-position=last]{margin-top:1px}.msg-bubble{border-radius:var(--nmm-message-radius);transition:transform .16s var(--ease-spring),box-shadow .18s var(--ease-out),border-color .18s var(--ease-out)}.msg.in[data-group-position=first] .msg-bubble{border-bottom-left-radius:var(--nmm-message-tail-radius)}.msg.in[data-group-position=middle] .msg-bubble{border-top-left-radius:var(--nmm-message-tail-radius);border-bottom-left-radius:var(--nmm-message-tail-radius)}.msg.in[data-group-position=last] .msg-bubble{border-top-left-radius:var(--nmm-message-tail-radius)}.msg.out[data-group-position=first] .msg-bubble{border-bottom-right-radius:var(--nmm-message-tail-radius)}.msg.out[data-group-position=middle] .msg-bubble{border-top-right-radius:var(--nmm-message-tail-radius);border-bottom-right-radius:var(--nmm-message-tail-radius)}.msg.out[data-group-position=last] .msg-bubble{border-top-right-radius:var(--nmm-message-tail-radius)}.msg:hover .msg-bubble{box-shadow:0 4px 16px #00000021}.msg.out .msg-bubble{background:linear-gradient(145deg,color-mix(in srgb,var(--msg-out-bg) 94%,white 6%),color-mix(in srgb,var(--msg-out-bg) 97%,black 3%))}.msg-text{line-height:1.48;letter-spacing:-.003em}.msg-meta{gap:4px;opacity:.82;font-variant-numeric:tabular-nums}.msg-reply{margin-bottom:7px;padding:7px 9px;border-radius:11px;background:color-mix(in srgb,var(--accent) 9%,transparent)}.msg-reactions{gap:4px;margin-top:5px}.reaction-chip{min-height:28px;padding:3px 8px 3px 6px;gap:4px;border:1px solid color-mix(in srgb,var(--border-default) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);box-shadow:0 3px 9px #00000014;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .14s var(--ease-spring),background .14s var(--ease-out),border-color .14s var(--ease-out)}.reaction-chip:hover{transform:translateY(-1px)}.reaction-chip:active{transform:scale(.92)}.reaction-chip.mine{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 16%,var(--bg-elevated));color:var(--accent)}.reaction-chip__emoji{font-size:15px}.reaction-chip__count{min-width:8px;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.msg-voice{border-radius:15px;background:color-mix(in srgb,var(--bg-elevated) 28%,transparent)}.msg-voice-play{box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent)}.voice-wave-container{border-radius:8px;-webkit-mask-image:linear-gradient(to right,black 94%,transparent);mask-image:linear-gradient(to right,black 94%,transparent)}.msg-voice-speed{border:1px solid color-mix(in srgb,var(--border-default) 68%,transparent);font-weight:750;cursor:pointer}.video-note-wrapper{border:2px solid color-mix(in srgb,white 16%,transparent);box-shadow:0 12px 34px #00000042,0 0 0 4px color-mix(in srgb,var(--accent) 8%,transparent)}.video-note-container:hover .video-note-wrapper{transform:translateY(-1px);box-shadow:0 16px 40px #0000004d,0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}.scroll-down-btn{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--border-default) 70%,transparent);border-radius:50%;background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);box-shadow:0 10px 28px #00000029;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}@media(max-width:720px){.chat-list-page{padding:6px}.conv-item{min-height:68px;padding:8px 9px;border-radius:14px}.conv-avatar{width:45px;height:45px;min-width:45px}.composer{padding:6px 8px max(7px,env(safe-area-inset-bottom))}.composer-row{min-height:50px}.msg{max-width:88%}.pinned-bar{margin:6px 8px 0}}@media(prefers-reduced-motion:reduce){.conv-item,.chat-info,.composer-row,.composer-action-btn,.msg-bubble,.reaction-chip,.video-note-wrapper{transition-duration:.01ms!important}}.msg-voice{min-width:min(300px,68vw);overflow:hidden}.msg-voice.is-playing{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}.voice-wave-interactive{position:relative;cursor:pointer;touch-action:none;outline:none}.voice-wave-interactive:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0;border-radius:10px;pointer-events:none;opacity:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent);transition:opacity .14s var(--ease-out)}.voice-wave-interactive:focus-visible:after{opacity:1}.msg-voice-speed,.video-note-speed-btn,.video-note-mute-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.video-note-meta{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:5px}.video-note-wrapper{border:0}.video-note-speed-btn,.video-note-mute-btn{min-width:28px;height:26px;padding:0 7px;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);color:var(--text-primary);font-size:11px;font-weight:750;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:transform .14s var(--ease-spring),background .14s var(--ease-out)}.video-note-mute-btn{min-width:30px;padding-inline:6px;font-size:13px}.video-note-speed-btn:hover,.video-note-mute-btn:hover{background:color-mix(in srgb,var(--bg-hover) 92%,transparent)}.video-note-speed-btn:active,.video-note-mute-btn:active{transform:scale(.9)}.video-note-wrapper:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent),0 12px 34px #00000042}@media(max-width:720px){.msg-voice{min-width:min(264px,76vw)}.video-note-meta{gap:4px}.video-note-speed-btn,.video-note-mute-btn{height:24px}}@media(prefers-reduced-motion:reduce){.voice-wave-interactive:after,.video-note-speed-btn,.video-note-mute-btn{transition-duration:.01ms!important}}:root{--nmm-gesture-distance: 68px;--nmm-menu-surface: color-mix(in srgb, var(--bg-elevated) 94%, transparent);--nmm-menu-border: color-mix(in srgb, var(--border-default) 72%, transparent);--nmm-brand-glow: 0 14px 34px color-mix(in srgb, var(--accent) 18%, transparent)}.message-gesture-surface{position:relative;touch-action:pan-y pinch-zoom;will-change:auto;outline:none}.message-gesture-surface>.msg-bubble{transform:translate3d(var(--swipe-x, 0px),0,0);transition:transform .19s var(--ease-spring),filter .16s var(--ease-out);will-change:transform}.message-gesture-surface.is-swiping{z-index:2}.message-gesture-surface.is-swiping>.msg-bubble{transition:none}.message-gesture-surface.swipe-returning>.msg-bubble{transition:transform .21s var(--ease-spring)}.message-gesture-surface.swipe-ready>.msg-bubble{filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--accent) 16%,transparent))}.swipe-reply-indicator{position:absolute;top:50%;left:8px;width:34px;height:34px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);box-shadow:0 8px 18px #0000001f;opacity:calc(var(--swipe-progress, 0) * .96);transform:translate3d(calc(-18px + var(--swipe-progress, 0) * 16px),-50%,0) scale(calc(.72 + var(--swipe-progress, 0) * .28));pointer-events:none;transition:color .13s var(--ease-out),background .13s var(--ease-out),border-color .13s var(--ease-out)}.swipe-reply-indicator.is-ready{color:var(--text-on-accent, #fff);border-color:transparent;background:linear-gradient(145deg,var(--accent),var(--accent-strong));box-shadow:var(--nmm-brand-glow)}.message-gesture-surface.swipe-committed>.swipe-reply-indicator{animation:nmm-reply-commit .24s var(--ease-spring)}@keyframes nmm-reply-commit{0%{transform:translate3d(-2px,-50%,0) scale(1)}45%{transform:translate3d(5px,-50%,0) scale(1.14)}to{transform:translate3d(-18px,-50%,0) scale(.72)}}.context-menu[data-message-id]{width:min(292px,calc(100vw - 24px));padding:7px;border:1px solid var(--nmm-menu-border);border-radius:18px;background:var(--nmm-menu-surface);box-shadow:0 22px 56px #00000038,inset 0 1px #ffffff0b;backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)}.context-menu[data-message-id] .context-reactions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:3px 2px 7px}.context-menu[data-message-id] .context-reaction-btn{width:100%;min-width:0;height:38px;border-radius:12px;font-size:20px;transition:transform .14s var(--ease-spring),background .14s var(--ease-out)}.context-menu[data-message-id] .context-reaction-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px) scale(1.04)}.context-menu[data-message-id] .context-reaction-btn:active{transform:scale(.88)}.context-menu[data-message-id] .ctx-item{min-height:40px;padding:8px 10px;gap:10px;border-radius:11px;font-size:13px;font-weight:590;transition:background .13s var(--ease-out),transform .13s var(--ease-spring)}.context-menu[data-message-id] .ctx-item:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.context-menu[data-message-id] .ctx-item:active{transform:scale(.975)}.context-menu[data-message-id] .ctx-item svg{width:17px;height:17px;color:var(--text-secondary)}.context-menu[data-message-id] .ctx-item.danger{color:var(--danger)}.context-menu[data-message-id] .ctx-separator{height:1px;margin:5px 4px;background:color-mix(in srgb,var(--border-subtle) 80%,transparent)}.msg-reaction-picker{padding:5px;gap:3px;border:1px solid var(--nmm-menu-border);border-radius:999px;background:var(--nmm-menu-surface);box-shadow:0 16px 38px #0003;backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18)}.reaction-picker-btn{width:38px;height:38px;border-radius:50%;font-size:20px;transition:transform .14s var(--ease-spring),background .14s var(--ease-out)}.reaction-picker-btn:hover{transform:translateY(-2px) scale(1.08);background:color-mix(in srgb,var(--accent) 10%,transparent)}.reaction-picker-btn:active{transform:scale(.86)}.chat-header,.sidebar-header{border-color:color-mix(in srgb,var(--accent) 8%,var(--border-subtle))}.composer-row:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 14px 34px #00000021}.msg.out .msg-bubble{border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.msg.in .msg-bubble{border-color:color-mix(in srgb,var(--border-default) 76%,transparent)}@media(hover:none),(pointer:coarse){.context-menu[data-message-id].mobile-sheet{width:auto!important;max-width:none!important;padding:8px 8px max(8px,env(safe-area-inset-bottom));border-radius:20px}.context-menu[data-message-id] .ctx-item{min-height:42px}.swipe-reply-indicator{left:5px}}@media(prefers-reduced-motion:reduce){.message-gesture-surface>.msg-bubble,.swipe-reply-indicator,.context-menu[data-message-id] .ctx-item,.context-reaction-btn,.reaction-picker-btn{transition-duration:.01ms!important;animation-duration:.01ms!important}}.msg.is-pinned .msg-bubble{box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 72%,transparent),0 8px 24px #00000014}.search-results-bar{isolation:isolate;box-shadow:0 12px 30px #0000001f}.msg.search-highlight .msg-bubble{animation:nmm-search-focus .9s var(--ease-out)}mark.search-mark{padding:0 .08em;border-radius:.24em;color:inherit;background:color-mix(in srgb,var(--warning, #ffc857) 58%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--warning, #ffc857) 28%,transparent)}@keyframes nmm-search-focus{0%{transform:scale(.985);filter:brightness(1)}38%{transform:scale(1.018);filter:brightness(1.08)}to{transform:scale(1);filter:brightness(1)}}.forward-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 2px;background:linear-gradient(to top,var(--bg-elevated) 72%,transparent)}.forward-selection-count{color:var(--text-secondary);font-size:13px}.forward-submit{min-width:112px}.forward-chat-item{position:relative;border:1px solid transparent;transition:background .14s var(--ease-out),border-color .14s var(--ease-out),transform .14s var(--ease-spring)}.forward-chat-item:after{content:"✓";width:22px;height:22px;display:grid;place-items:center;margin-left:auto;border-radius:50%;color:transparent;background:color-mix(in srgb,var(--border-default) 56%,transparent);transform:scale(.84);transition:all .14s var(--ease-spring)}.forward-chat-item.selected{border-color:color-mix(in srgb,var(--accent) 36%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.forward-chat-item.selected:after{color:var(--text-on-accent, #fff);background:var(--accent);transform:scale(1)}.forward-chat-item:active{transform:scale(.985)}@media(max-width:720px){.forward-actions{padding-bottom:max(4px,env(safe-area-inset-bottom))}.forward-submit{min-height:42px}}@media(prefers-reduced-motion:reduce){.msg.search-highlight .msg-bubble{animation:none}}:root{--nmm-radius-xs: 8px;--nmm-radius-sm: 12px;--nmm-radius-md: 16px;--nmm-radius-lg: 22px;--nmm-radius-xl: 28px;--nmm-space-1: 4px;--nmm-space-2: 8px;--nmm-space-3: 12px;--nmm-space-4: 16px;--nmm-space-5: 20px;--nmm-surface-glow: 0 18px 48px color-mix(in srgb, var(--accent) 10%, transparent)}#messages{contain:layout style}#messages>.msg{content-visibility:auto;contain-intrinsic-size:auto 72px;contain:layout style paint}#messages>.msg.msg--outside-viewport{pointer-events:none}#messages>.msg.msg--outside-viewport .msg-quick-reactions{visibility:hidden}.msg-bubble{border-radius:var(--nmm-radius-md);transition:border-radius .16s var(--ease-out),box-shadow .16s var(--ease-out),transform .16s var(--ease-spring)}.msg[data-group-position=first] .msg-bubble{border-bottom-left-radius:var(--nmm-radius-sm);border-bottom-right-radius:var(--nmm-radius-sm)}.msg[data-group-position=middle] .msg-bubble{border-radius:var(--nmm-radius-sm)}.msg[data-group-position=last] .msg-bubble{border-top-left-radius:var(--nmm-radius-sm);border-top-right-radius:var(--nmm-radius-sm)}.msg.out .msg-bubble{background:linear-gradient(145deg,color-mix(in srgb,var(--msg-out-bg) 94%,var(--accent) 6%),var(--msg-out-bg));box-shadow:0 9px 26px #00000013,inset 0 1px #ffffff0d}.msg.in .msg-bubble{box-shadow:0 7px 22px #0000000f,inset 0 1px #ffffff09}.msg.group-message.in{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:6px;align-items:end}.msg.group-message.in>.msg-bubble{grid-column:2;grid-row:1;max-width:100%}.msg.group-message.in>.msg-reactions{grid-column:2;grid-row:2}.msg-sender-avatar{grid-column:1;grid-row:1;align-self:end;width:30px;height:30px;padding:0;border:0;font-size:11px;line-height:1;cursor:pointer;transition:transform .14s var(--ease-out),box-shadow .14s var(--ease-out)}.msg-sender-avatar:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1f,0 4px 10px #00000038}.msg-sender-avatar:active{transform:scale(.94)}.msg-sender-avatar__image{width:100%;height:100%;object-fit:cover}.msg-sender-avatar__initial{pointer-events:none}.composer-wrap,.composer{isolation:isolate}.composer-row{border-radius:var(--nmm-radius-xl);transition:border-color .16s var(--ease-out),box-shadow .18s var(--ease-out),transform .18s var(--ease-spring),background .16s var(--ease-out)}.composer-row:focus-within{transform:translateY(-1px);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent),var(--nmm-surface-glow)}.composer-drop-active:before{content:"Отпустите файл, чтобы прикрепить";position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:30;display:grid;place-items:center;border:2px dashed color-mix(in srgb,var(--accent) 66%,transparent);border-radius:var(--nmm-radius-lg);color:var(--accent);background:color-mix(in srgb,var(--bg-elevated) 91%,transparent);font-size:13px;font-weight:700;letter-spacing:.01em;pointer-events:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:nmm-drop-zone-in .18s var(--ease-spring)}@keyframes nmm-drop-zone-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.chat-header,.sidebar-header{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 96%,var(--accent) 4%),var(--bg-elevated))}.chat-header:after,.sidebar-header:after{content:"";position:absolute;right:16px;bottom:-1px;left:16px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 22%,transparent),transparent);pointer-events:none}@media(max-width:720px){#messages>.msg{contain-intrinsic-size:auto 66px}.msg.group-message.in{grid-template-columns:28px minmax(0,1fr);column-gap:5px}.msg-sender-avatar{width:28px;height:28px;font-size:10px}.composer-drop-active:before{content:"Отпустите, чтобы прикрепить";top:2px;right:2px;bottom:2px;left:2px}}@media(prefers-reduced-motion:reduce){.msg-bubble,.msg-sender-avatar,.composer-row,.composer-drop-active:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}body.call-active{overflow:hidden}.call-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19000;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));animation:nmm-call-enter .22s var(--ease-spring)}.call-modal--leaving{pointer-events:none;animation:nmm-call-leave .18s var(--ease-out) forwards}.call-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 48%),#06090fdb;backdrop-filter:blur(24px) saturate(1.12);-webkit-backdrop-filter:blur(24px) saturate(1.12)}.call-modal-content{position:relative;width:min(430px,100%);min-height:min(640px,calc(100dvh - 36px));display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:28px 22px 24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border-default));border-radius:32px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg-elevated) 95%,var(--accent) 5%),var(--bg-surface));box-shadow:0 36px 90px #00000061,inset 0 1px #ffffff0f}.call-modal-content:before{content:"";position:absolute;inset:-20% -10% auto;height:44%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%);pointer-events:none}.call-header,.call-peer-info,.call-controls,.call-active-controls,.call-video-container{position:relative;z-index:1}.call-header{text-align:center}.call-type-label{margin-bottom:7px;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.call-status{min-height:22px;color:var(--text-primary);font-size:15px;font-weight:650}.call-modal[data-call-phase=reconnecting] .call-status{color:var(--warning, #f5b942)}.call-modal[data-call-phase=connected] .call-status{color:var(--success, #55c985)}.call-peer-info{display:grid;justify-items:center;gap:10px;text-align:center}.call-peer-avatar{position:relative;width:104px!important;height:104px!important;border:3px solid color-mix(in srgb,var(--accent) 48%,transparent);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 8%,transparent),0 22px 50px #0000003d}.call-peer-avatar.ringing:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border:2px solid color-mix(in srgb,var(--accent) 46%,transparent);border-radius:50%;animation:nmm-call-ring 1.6s ease-out infinite}.call-peer-name{max-width:100%;overflow:hidden;color:var(--text-primary);font-size:24px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.call-timer{min-height:20px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650;letter-spacing:.04em}.call-video-container{min-height:260px;overflow:hidden;border-radius:24px;background:#05070a;box-shadow:inset 0 0 0 1px #ffffff0f}#remoteVideo{width:100%;height:100%;min-height:260px;object-fit:cover}#localVideo{position:absolute;right:12px;bottom:12px;width:104px;height:138px;object-fit:cover;border:2px solid rgba(255,255,255,.22);border-radius:18px;background:#10141b;box-shadow:0 14px 30px #00000057}.call-controls,.call-active-controls{align-items:center;justify-content:center;gap:14px;min-height:66px}.call-btn{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:#fff;background:#ffffff1c;box-shadow:0 12px 26px #0003;transition:transform .15s var(--ease-spring),background .15s var(--ease-out),box-shadow .15s var(--ease-out)}.call-btn:hover{transform:translateY(-2px);background:#ffffff2b}.call-btn:active{transform:scale(.91)}.call-btn.active{background:color-mix(in srgb,var(--danger) 76%,#1c2430);box-shadow:0 12px 30px color-mix(in srgb,var(--danger) 22%,transparent)}.call-btn-accept{background:var(--success, #31b86b)}.call-btn-decline{background:var(--danger, #e94c5a)}@keyframes nmm-call-ring{0%{opacity:.72;transform:scale(.92)}to{opacity:0;transform:scale(1.24)}}@keyframes nmm-call-enter{0%{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}@keyframes nmm-call-leave{to{opacity:0;transform:scale(.985)}}@media(max-width:560px){.call-modal{padding:0}.call-modal-content{width:100%;min-height:100dvh;border:0;border-radius:0;padding:max(24px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom))}.call-video-container,#remoteVideo{min-height:42dvh}}@media(prefers-reduced-motion:reduce){.call-modal,.call-modal--leaving,.call-peer-avatar.ringing:after,.call-btn{animation-duration:.01ms!important;transition-duration:.01ms!important}}#toastContainer{position:fixed;z-index:22000;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;width:min(390px,calc(100vw - 32px));gap:10px;pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:54px;padding:12px 12px 12px 14px;border:1px solid color-mix(in srgb,var(--border-default) 78%,var(--accent) 22%);border-radius:16px;color:var(--text-primary);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);box-shadow:0 18px 42px #0000002e,inset 0 1px #ffffff0d;backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);pointer-events:auto;animation:nmm-toast-enter .22s var(--ease-spring)}.toast.error{border-color:color-mix(in srgb,var(--danger) 42%,var(--border-default))}.toast.success{border-color:color-mix(in srgb,var(--success) 42%,var(--border-default))}.toast.warning{border-color:color-mix(in srgb,var(--warning, #f2b84b) 46%,var(--border-default))}.toast-content{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.35}.toast-action,.toast-close{min-width:34px;min-height:34px;border:0;border-radius:10px;color:var(--text-primary);background:color-mix(in srgb,var(--accent) 10%,transparent)}.toast-action{padding:0 11px;color:var(--accent);font-size:13px;font-weight:700}.toast-close{display:grid;place-items:center;color:var(--text-secondary)}.toast-action:hover,.toast-close:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.toast--leaving{animation:nmm-toast-leave .18s var(--ease-out) forwards}html:not([data-runtime-ready="1"]) [data-requires-runtime]{pointer-events:none;opacity:.56}.keyboard-shortcuts-list{display:grid;gap:2px}.keyboard-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--border-default)}.keyboard-shortcut-row:last-child{border-bottom:0}.keyboard-shortcut-label{min-width:0;color:var(--text-primary);font-size:14px;line-height:1.35}.keyboard-shortcut-keys{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px}.keyboard-shortcut-keys kbd{min-width:29px;padding:5px 7px;border:1px solid var(--border-default);border-radius:7px;color:var(--text-secondary);background:var(--bg-secondary);box-shadow:0 1px #ffffff0f;font:600 12px/1 system-ui,sans-serif;text-align:center;white-space:nowrap}.command-palette-sheet{width:min(560px,calc(100vw - 32px));max-width:560px;max-height:min(620px,calc(100dvh - 64px))}.command-palette-search{display:grid;grid-template-columns:22px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-default)}.command-palette-search>svg{width:20px;height:20px;color:var(--text-muted)}#commandPaletteInput{width:100%;min-height:42px;padding:8px 2px;border:0;outline:0;color:var(--text-primary);background:transparent;box-shadow:none;font-size:16px}#commandPaletteInput:focus{border:0;outline:0;box-shadow:none}#commandPaletteInput::-webkit-search-cancel-button{display:none}.command-palette-list{display:grid;min-height:0;max-height:390px;padding:8px;overflow-y:auto;overscroll-behavior:contain}.command-palette-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:46px;padding:8px 10px;border:0;border-radius:11px;color:var(--text-primary);background:transparent;text-align:left}.command-palette-option:hover,.command-palette-option.active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.command-palette-option.active{color:var(--accent)}.command-palette-option__label{min-width:0;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.command-palette-option__shortcut{padding:5px 7px;border:1px solid var(--border-default);border-radius:7px;color:var(--text-muted);background:var(--bg-secondary);font:600 11px/1 system-ui,sans-serif;white-space:nowrap}.command-palette-empty{padding:36px 18px;color:var(--text-muted);font-size:14px;text-align:center}.command-palette-footer{display:flex;flex-wrap:wrap;gap:8px 16px;padding:9px 14px;border-top:1px solid var(--border-default);color:var(--text-muted);font-size:11px}.command-palette-footer span{display:inline-flex;align-items:center;gap:4px}.command-palette-footer kbd{min-width:20px;padding:3px 5px;border:1px solid var(--border-default);border-radius:5px;color:var(--text-secondary);background:var(--bg-secondary);font:600 10px/1 system-ui,sans-serif;text-align:center}@keyframes nmm-toast-enter{0%{opacity:0;transform:translate3d(18px,-6px,0) scale(.97)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes nmm-toast-leave{to{opacity:0;transform:translate3d(14px,0,0) scale(.98)}}@media(max-width:600px){#toastContainer{top:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:auto}.toast{width:100%}.keyboard-shortcut-row{gap:12px}.command-palette-sheet{width:100%;max-width:100%;max-height:min(86dvh,720px)}.command-palette-list{max-height:none}.command-palette-footer{display:none}}@media(prefers-reduced-motion:reduce){.toast,.toast--leaving{animation-duration:.01ms!important}}:root{--ui-scale: 1;--accessible-base-font-size: 16px;--a11y-focus-ring: var(--accent)}html{font-size:calc(var(--accessible-base-font-size) * var(--ui-scale))}html[data-text-size=large]{--accessible-base-font-size: 18px}html[data-text-size=large] body{font-size:.9375rem}html[data-text-size=large] :is(.msg-text,#textInput,.thread-composer textarea){font-size:1rem;line-height:1.5}html[data-text-size=large] :is(.conv-name,.chat-title,.drawer-item-label,.settings-item-title){font-size:.9375rem}html[data-text-size=large] :is(.conv-last,.chat-status,.settings-item-subtitle,.msg-author){font-size:.8125rem;line-height:1.4}html[data-text-size=large] :is(.conv-time,.msg-meta){font-size:.6875rem}html[data-contrast=high][data-color-scheme=dark]{--text-primary: #ffffff;--text-secondary: #e2edf6;--text-muted: #b9cad8;--border-subtle: rgba(255, 255, 255, .24);--border-default: rgba(255, 255, 255, .38);--border-strong: rgba(255, 255, 255, .62);--a11y-focus-ring: #ffd65a}html[data-contrast=high][data-color-scheme=light]{--text-primary: #000000;--text-secondary: #1f2d38;--text-muted: #3f4f5c;--border-subtle: rgba(0, 0, 0, .22);--border-default: rgba(0, 0, 0, .36);--border-strong: rgba(0, 0, 0, .58);--a11y-focus-ring: #005fcc}html[data-contrast=high] :is(.msg-meta,.conv-time,.chat-status,.settings-item-subtitle){opacity:1}html[data-contrast=high] :is(button,a,[role=button],input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--a11y-focus-ring)!important;outline-offset:3px!important}.skip-link{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:30000;padding:10px 14px;border-radius:10px;color:var(--text-primary);background:var(--bg-elevated);box-shadow:var(--shadow-lg);transform:translateY(-160%);transition:transform .12s ease}.skip-link:focus-visible{transform:translateY(0)}#mainContent:focus{outline:none}html[data-theme=midnight],html[data-theme=graphite]{color-scheme:dark}html[data-theme=sand]{color-scheme:light}html[data-density=compact]{--density-factor: .86}html[data-density=comfortable]{--density-factor: 1}html[data-density=spacious]{--density-factor: 1.14}html[data-density] .chat-item{min-height:calc(68px * var(--density-factor))}html[data-density] .msg{margin-block:calc(2px * var(--density-factor))}.msg>.msg-bubble{max-width:100%}html[data-density] .drawer-item,html[data-density] .dropdown-item{min-height:calc(48px * var(--density-factor))}html[data-bubble-style=telegram] .msg-bubble{border-radius:18px}html[data-bubble-style=telegram] .msg.out .msg-bubble{border-bottom-right-radius:5px}html[data-bubble-style=telegram] .msg.in .msg-bubble{border-bottom-left-radius:5px}html[data-bubble-style=compact] .msg-bubble{border-radius:12px;padding:7px 10px}html[data-bubble-style=square] .msg-bubble{border-radius:7px}html[data-bubble-style=soft] .msg-bubble{border-radius:var(--nmm-radius-md, 16px)}html[data-motion-level=reduced] *{--motion-fast: 80ms;--motion-base: .12s;--motion-slow: .16s}html[data-motion-level=none] *,html[data-motion-level=none] *:before,html[data-motion-level=none] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body.theme-studio-open{overflow:hidden}.theme-studio-modal{z-index:20500}.theme-studio-sheet{width:min(760px,calc(100vw - 32px));max-height:min(880px,calc(100dvh - 32px));overflow:hidden;border-radius:28px}.theme-studio-header{align-items:flex-start}.theme-studio-header h2{margin:2px 0 4px;font-size:24px}.theme-studio-header p:last-child{margin:0;color:var(--text-secondary);font-size:13px}.theme-studio-eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.theme-studio-body{display:grid;gap:16px;overflow-y:auto;padding-bottom:22px}.theme-studio-section{padding:16px;border:1px solid var(--border-subtle);border-radius:20px;background:color-mix(in srgb,var(--bg-surface) 94%,var(--accent) 6%)}.theme-studio-section__head{display:flex;justify-content:space-between;gap:16px;margin-bottom:13px}.theme-studio-section h3{margin:0 0 3px;color:var(--text-primary);font-size:15px}.theme-studio-section p{margin:0;color:var(--text-secondary);font-size:12px}.theme-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-card{min-width:0;padding:7px;border:1px solid var(--border-subtle);border-radius:16px;color:var(--text-primary);background:var(--bg-elevated);text-align:left;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.theme-card:hover{transform:translateY(-2px)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.theme-card__preview{position:relative;display:block;height:78px;overflow:hidden;border-radius:11px;background:var(--bg-base)}.theme-card__sidebar{position:absolute;inset:0 auto 0 0;width:31%;background:var(--bg-surface);border-right:1px solid var(--border-subtle)}.theme-card__bubble{position:absolute;width:42%;height:15px;border-radius:8px}.theme-card__bubble--in{top:18px;left:38%;background:var(--msg-in-bg)}.theme-card__bubble--out{right:7px;bottom:18px;background:var(--msg-out-bg)}.theme-card__label{display:block;padding:8px 3px 2px;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.accent-picker{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.accent-swatch{width:34px;height:34px;border:3px solid var(--bg-elevated);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--border-default);transition:transform .14s ease,box-shadow .14s ease}.accent-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--text-primary)}.accent-custom{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:5px 9px;border:1px solid var(--border-default);border-radius:12px;color:var(--text-secondary);font-size:12px;cursor:pointer}.accent-custom input{width:24px;height:24px;padding:0;border:0;border-radius:50%;overflow:hidden;background:transparent}.theme-studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-setting{display:grid;gap:10px;min-width:0;padding:13px;border:1px solid var(--border-subtle);border-radius:15px;background:var(--bg-elevated)}.theme-setting>span{display:grid;gap:2px}.theme-setting strong{color:var(--text-primary);font-size:13px}.theme-setting small{color:var(--text-secondary);font-size:11px}.theme-setting select,.theme-setting input[type=range]{width:100%}.theme-studio-actions{display:flex;flex-wrap:wrap;gap:8px}.theme-studio-actions .btn{display:inline-flex;align-items:center;gap:7px}.theme-studio-footer{background:color-mix(in srgb,var(--bg-elevated) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@media(max-width:620px){.theme-studio-sheet{width:100%;max-height:100dvh;border-radius:0}.theme-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-studio-grid{grid-template-columns:1fr}.theme-studio-section{padding:13px;border-radius:17px}}@media(max-width:380px){.theme-card-grid{grid-template-columns:1fr}}body.media-gallery-open{overflow:hidden}.media-gallery{--gallery-backdrop-opacity: .96;--gallery-dismiss-progress: 0;--gallery-transition-duration: .23s;position:fixed;top:0;right:0;bottom:0;left:0;z-index:23000;display:grid;grid-template:"header header header" auto "prev stage next" 1fr "footer footer footer" auto / 72px minmax(0,1fr) 72px;color:#fff;background:rgba(3,6,10,var(--gallery-backdrop-opacity));animation:nmm-gallery-enter .18s ease-out;touch-action:none}.media-gallery--leaving{pointer-events:none;animation:nmm-gallery-leave .17s ease-in forwards}.media-gallery--gesture-leaving{pointer-events:none}.media-gallery__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 28%,rgba(65,116,190,.18),transparent 42%);opacity:calc(1 - var(--gallery-dismiss-progress))}.media-gallery__header,.media-gallery__footer,.media-gallery__nav{position:relative;z-index:1;opacity:calc(1 - var(--gallery-dismiss-progress))}.media-gallery__header{grid-area:header;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:linear-gradient(to bottom,rgba(0,0,0,.52),transparent)}.media-gallery__header>div:first-child{display:grid;gap:2px}.media-gallery__counter{color:#ffffffa8;font-size:12px}.media-gallery__actions{display:flex;gap:8px}.media-gallery .icon-btn{color:#fff;background:#ffffff1a}.media-gallery__stage{position:relative;z-index:1;grid-area:stage;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;contain:layout paint}.media-gallery__slide{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;min-width:0;min-height:0}.media-gallery--gesture-active .media-gallery__slide{will-change:transform,opacity}.media-gallery__slide--dragging{transition:none!important}.media-gallery__slide--animating{transition:transform var(--gallery-transition-duration) cubic-bezier(.22,.72,.22,1),opacity var(--gallery-transition-duration) ease-out}.media-gallery--settling{transition:background-color var(--gallery-transition-duration) ease-out}.media-gallery--settling .media-gallery__backdrop,.media-gallery--settling .media-gallery__header,.media-gallery--settling .media-gallery__footer,.media-gallery--settling .media-gallery__nav,.media-gallery--gesture-leaving .media-gallery__backdrop,.media-gallery--gesture-leaving .media-gallery__header,.media-gallery--gesture-leaving .media-gallery__footer,.media-gallery--gesture-leaving .media-gallery__nav{transition:opacity var(--gallery-transition-duration) ease-out}.media-gallery__image,.media-gallery__video{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.media-gallery__image{transform-origin:center center;will-change:transform}.media-gallery__video{width:min(100%,1200px);height:min(100%,780px)}.media-gallery__nav{align-self:center;width:48px;height:64px;display:grid;place-items:center;border:0;border-radius:16px;color:#fff;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.media-gallery__nav:disabled{display:none}.media-gallery__nav--prev{grid-area:prev;justify-self:center}.media-gallery__nav--next{grid-area:next;justify-self:center}.media-gallery__footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:10px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(to top,rgba(0,0,0,.58),transparent)}.media-gallery__caption{min-width:0;max-width:70ch;overflow:hidden;color:#ffffffd6;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.media-gallery__zoom{display:flex;gap:8px}.search-results-bar{flex-wrap:wrap;gap:8px}.search-filter-row{order:3;width:100%;display:flex;gap:6px;overflow-x:auto;padding-top:2px;scrollbar-width:none}.search-filter-row::-webkit-scrollbar{display:none}.search-filter-chip{flex:0 0 auto;min-height:30px;padding:0 11px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);background:var(--bg-elevated);font-size:12px;font-weight:650}.search-filter-chip.active{border-color:color-mix(in srgb,var(--accent) 62%,var(--border-default));color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.search-author-filter{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-height:30px;padding:0 5px 0 10px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);background:var(--bg-elevated);font-size:12px;font-weight:650}.search-author-filter select{width:auto;max-width:180px;min-height:24px;padding:0 22px 0 7px;border:0;border-radius:999px;color:var(--text-primary);background-color:var(--bg-surface);font:inherit}.search-author-filter select:disabled{opacity:.58}.search-saved-row{order:4;width:100%;display:flex;align-items:center;gap:7px;min-width:0}.search-save-preset{flex:0 0 auto;min-height:28px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));font-size:11px;font-weight:680}.search-save-preset:disabled{color:var(--text-muted);background:var(--bg-elevated);opacity:.62}.search-saved-list{min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.search-saved-list:empty{display:none}.search-saved-list::-webkit-scrollbar{display:none}.search-saved-preset{flex:0 0 auto;display:flex;align-items:stretch;max-width:min(320px,70vw);overflow:hidden;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-elevated)}.search-saved-preset__apply,.search-saved-preset__remove{min-height:28px;border:0;color:var(--text-secondary);background:transparent;font-size:11px}.search-saved-preset__apply{min-width:0;overflow:hidden;padding:0 8px 0 10px;text-overflow:ellipsis;white-space:nowrap}.search-saved-preset__remove{width:28px;flex:0 0 28px;padding:0;color:var(--text-muted);font-size:17px}.search-saved-preset__apply:hover,.search-saved-preset__remove:hover{color:var(--text-primary);background:var(--bg-hover)}.search-mark{padding:0 2px;border-radius:4px;color:inherit;background:color-mix(in srgb,var(--warning, #f4c64d) 72%,transparent);box-decoration-break:clone;-webkit-box-decoration-break:clone}.msg.search-highlight .msg-bubble{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent),var(--shadow-sm)}@media(max-width:680px){.media-gallery{grid-template:"header header header" auto "stage stage stage" 1fr "footer footer footer" auto / 1fr}.media-gallery__nav{position:absolute;top:50%;z-index:4;width:42px;height:54px;transform:translateY(-50%)}.media-gallery__nav--prev{left:8px}.media-gallery__nav--next{right:8px}.media-gallery__zoom{display:none}.media-gallery__caption{max-width:100%}.media-gallery__footer{min-height:52px}}@media(prefers-reduced-motion:reduce){.media-gallery,.media-gallery--leaving{animation-duration:.01ms!important}.media-gallery__slide--animating,.media-gallery--settling,.media-gallery--settling .media-gallery__backdrop,.media-gallery--settling .media-gallery__header,.media-gallery--settling .media-gallery__footer,.media-gallery--settling .media-gallery__nav,.media-gallery--gesture-leaving .media-gallery__backdrop,.media-gallery--gesture-leaving .media-gallery__header,.media-gallery--gesture-leaving .media-gallery__footer,.media-gallery--gesture-leaving .media-gallery__nav{transition-duration:.01ms!important}}@keyframes nmm-gallery-enter{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes nmm-gallery-leave{to{opacity:0;transform:scale(.995)}}.chat-list-page{--chat-list-row-height: 72;contain:layout paint;overflow-anchor:none}.chat-list-spacer{width:100%;pointer-events:none}.conv-item{position:relative;min-height:72px;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:72px;transition:background-color .14s ease,transform .14s ease,opacity .14s ease}.conv-item.is-dragging{opacity:.45;transform:scale(.985)}.conv-item.is-pinned{background:color-mix(in srgb,var(--accent) 6%,transparent)}.conv-item.is-archived{opacity:.88}.conv-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.conv-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.conv-name{display:flex;align-items:center;min-width:0;gap:5px}.conv-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-pin-icon{width:13px;height:13px;flex:0 0 auto;color:var(--text-secondary);transform:rotate(-18deg)}.conv-last.is-typing{color:var(--accent);font-weight:650}.conv-last.is-draft{color:var(--danger, #e85b62)}.conv-quick-menu{position:absolute;top:50%;right:8px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--text-secondary);background:var(--bg-elevated);opacity:0;transform:translateY(-50%) scale(.9);transition:opacity .13s ease,transform .13s ease}.conv-item:hover .conv-quick-menu,.conv-item:focus-within .conv-quick-menu{opacity:1;transform:translateY(-50%) scale(1)}.conv-item:hover .conv-time,.conv-item:focus-within .conv-time{margin-right:34px}.conv-context-menu{z-index:22000;width:210px;padding:6px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--shadow-xl);animation:conv-menu-in .13s ease-out}.conv-context-menu button{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:0 11px;border:0;border-radius:9px;color:var(--text-primary);background:transparent;font-size:13px;text-align:left}.conv-context-menu button:hover{background:var(--bg-hover)}.conv-context-menu svg{width:17px;height:17px;color:var(--text-secondary)}.chat-tabs{gap:2px;overflow-x:hidden;scrollbar-width:none}.chat-tabs::-webkit-scrollbar{display:none}.chat-tab{position:relative;flex:1 1 0;min-width:0;padding-inline:8px;white-space:nowrap}.chat-tab-count{display:inline-grid;min-width:17px;height:17px;place-items:center;margin-left:4px;padding:0 4px;border-radius:999px;color:#fff;background:var(--accent);font-size:10px;line-height:1}.chat-tab-count[hidden]{display:none}.skeleton-chat{min-height:72px}@media(hover:none){.conv-quick-menu{opacity:.78;transform:translateY(-50%) scale(1)}.conv-item .conv-time{margin-right:30px}}@media(max-width:520px){.chat-tabs{justify-content:flex-start;padding-inline:8px;overflow-x:auto}.chat-tab{flex:0 0 auto;min-width:max-content;padding-inline:12px}.conv-context-menu{width:min(230px,calc(100vw - 16px))}}@keyframes conv-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sync-status-indicator{position:fixed;right:14px;bottom:14px;z-index:19000;display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:12px}.sync-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-secondary)}.sync-status-indicator[data-status=CONNECTED] .sync-status-dot{background:#31c46c;box-shadow:0 0 0 4px color-mix(in srgb,#31c46c 18%,transparent)}.sync-status-indicator[data-status=CONNECTING] .sync-status-dot,.sync-status-indicator[data-status=RECONNECT_WAIT] .sync-status-dot{background:#e6a83c;animation:sync-pulse 1s infinite}.sync-status-indicator[data-status=OFFLINE] .sync-status-dot,.sync-status-indicator[data-status=DISCONNECTED] .sync-status-dot,.sync-status-indicator[data-status=AUTH_BLOCKED] .sync-status-dot{background:#df5d65}.sync-status-count{display:grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border-radius:99px;color:#fff;background:var(--accent);font-size:10px}.sync-status-count[hidden]{display:none}.sync-status-panel{position:fixed;right:14px;bottom:58px;z-index:19001;width:min(340px,calc(100vw - 28px));padding:14px;border:1px solid var(--border-subtle);border-radius:18px;background:var(--bg-elevated);box-shadow:var(--shadow-xl)}.sync-status-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sync-status-panel header button{width:30px;height:30px;border:0;border-radius:50%;color:var(--text-primary);background:var(--bg-hover);font-size:20px}.sync-panel-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-subtle);font-size:13px}.sync-panel-row span{color:var(--text-secondary)}.sync-panel-row b{max-width:58%;text-align:right;overflow-wrap:anywhere}.sync-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.sync-panel-actions button{min-height:40px;border:0;border-radius:11px;color:var(--text-primary);background:var(--bg-hover)}.sync-panel-actions button:first-child{color:#fff;background:var(--accent)}@media(max-width:720px){.sync-status-indicator{right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}.sync-status-label{display:none}.sync-status-panel{right:8px;bottom:calc(54px + env(safe-area-inset-bottom));width:calc(100vw - 16px)}body.in-chat .sync-status-indicator{bottom:calc(82px + env(safe-area-inset-bottom))}body.in-chat .sync-status-panel{bottom:calc(126px + env(safe-area-inset-bottom))}}@keyframes sync-pulse{50%{opacity:.35;transform:scale(.78)}}#callModal:after{content:"";position:absolute;top:18px;right:18px;width:9px;height:9px;border-radius:50%;background:var(--success, #38b66b);box-shadow:0 0 0 4px color-mix(in srgb,var(--success, #38b66b) 18%,transparent);opacity:0;transition:opacity .16s ease}#callModal[data-call-phase=connected]:after{opacity:1}#callModal[data-call-phase=reconnecting]:after{opacity:1;background:var(--warning, #e6a23c);animation:nmm-call-pulse 1s ease-in-out infinite}.voice-wave-live{contain:layout paint}.voice-bar-live{will-change:height}@keyframes nmm-call-pulse{50%{transform:scale(1.35);opacity:.55}}@media(prefers-reduced-motion:reduce){#callModal[data-call-phase=reconnecting]:after{animation:none}}.toast-content{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-title{font-size:12px;line-height:1.2;color:var(--text-primary)}.toast-content>span{overflow-wrap:anywhere}.toast-action{flex:0 0 auto;border:0;border-radius:8px;padding:7px 10px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-weight:700;cursor:pointer}.toast-action:hover{background:color-mix(in srgb,var(--accent) 24%,transparent)}@media(max-width:520px){#toastContainer{inset:auto 8px 12px 8px;width:auto}.toast{width:100%;max-width:none}}@media(prefers-reduced-motion:reduce){.toast,.toast--leaving{animation:none!important;transition:none!important}}#messageThreadModal{padding:20px}.thread-sheet{width:min(620px,calc(100vw - 40px));max-width:620px;height:min(820px,calc(100dvh - 40px));max-height:820px;display:flex;flex-direction:column;overflow:hidden}.thread-header{flex:0 0 auto}.thread-header h2{margin:0}.thread-count,.thread-section-label{color:var(--text-muted);font-size:12px}.thread-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 18px;scrollbar-gutter:stable}.thread-root-section{padding:12px 0 16px}.thread-section-label{margin:0 0 8px 46px;text-transform:uppercase;letter-spacing:.04em}.thread-replies-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--text-secondary);font-size:13px;font-weight:600}.thread-replies-heading:before,.thread-replies-heading:after{content:"";height:1px;flex:1;background:var(--border)}.thread-replies{display:flex;flex-direction:column;gap:10px}.thread-message{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}.thread-message--root{padding:12px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--bg-elevated))}.thread-avatar{width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;overflow:hidden;padding:0;color:#fff;background:var(--accent);font-size:13px;font-weight:700}.thread-avatar img{width:100%;height:100%;object-fit:cover}.thread-message-content{min-width:0;padding:9px 12px;border-radius:6px 16px 16px;background:var(--bg-elevated);border:1px solid var(--border)}.thread-message--own .thread-message-content{background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.thread-message--root .thread-message-content{padding:0;border:0;background:transparent}.thread-message-head{display:flex;gap:8px;align-items:baseline;min-width:0;margin-bottom:4px}.thread-message-author{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font-size:13px;font-weight:650}.thread-message-time{flex:0 0 auto;margin-left:auto;color:var(--text-muted);font-size:11px}.thread-message-text{overflow-wrap:anywhere;white-space:pre-wrap;color:var(--text-primary);font-size:14px;line-height:1.42}.thread-message-meta{margin-top:4px;color:var(--text-muted);font-size:11px}.thread-media{display:block;width:min(100%,360px);max-height:280px;margin-top:8px;border-radius:12px;object-fit:cover;background:var(--bg-secondary)}audio.thread-media{height:36px}.thread-file{display:flex;gap:8px;align-items:center;margin-top:8px;color:var(--text-secondary);font-size:13px}.thread-load-more{display:block;margin:0 auto 12px}.thread-empty{padding:28px 12px;color:var(--text-muted);text-align:center;font-size:13px}.thread-composer{flex:0 0 auto;display:flex;gap:10px;align-items:flex-end;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-primary)}.thread-composer textarea{width:100%;min-height:40px;max-height:120px;resize:none;border:1px solid var(--border);border-radius:18px;padding:10px 14px;color:var(--text-primary);background:var(--bg-elevated);font:inherit;line-height:1.35}.thread-composer textarea:focus-visible{border-color:var(--accent);outline:none}.thread-send{flex:0 0 auto;color:#fff;background:var(--accent)}.thread-send:disabled{opacity:.45}.thread-read-only{flex:0 0 auto;padding:14px 18px calc(14px + env(safe-area-inset-bottom));color:var(--text-secondary);border-top:1px solid var(--border);background:var(--bg-primary);text-align:center;font-size:13px}@media(max-width:599px){#messageThreadModal{padding:0}#messageThreadModal .thread-sheet{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.thread-body{padding-inline:12px}}@media(prefers-reduced-motion:reduce){.thread-body{scroll-behavior:auto}}.attach-thumb.attach-thumb--album{position:relative;width:104px;height:70px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;background:var(--bg-overlay)}.attach-thumb--album .attach-thumb__media{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;border-radius:3px}.attach-thumb--album .attach-thumb__media:nth-child(n+5){display:none}.attach-thumb__overflow,.media-grid-more,.media-album-count{display:grid;place-items:center;color:#fff;background:#050c14ad;font-weight:700;pointer-events:none}.attach-thumb__overflow{position:absolute;right:0;bottom:0;width:calc(50% - 1px);height:calc(50% - 1px);font-size:13px}.msg-attachment.media-grid{position:relative}.media-grid-more{grid-column:2;grid-row:2;z-index:2;border-radius:0 0 8px;font-size:22px}.media-tabs{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.media-tabs::-webkit-scrollbar{display:none}.media-tab{flex:0 0 auto}.media-grid--albums{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.media-album-item{position:relative;width:100%;aspect-ratio:1;padding:0}.media-album-preview{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px}.media-album-preview img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}.media-album-preview img:only-child{grid-column:1 / -1;grid-row:1 / -1}.media-album-count{position:absolute;right:8px;bottom:8px;min-width:34px;height:26px;padding:0 8px;border-radius:999px;font-size:12px;box-shadow:0 2px 10px #0000003d}@media(max-width:420px){.attach-thumb.attach-thumb--album{width:88px;height:62px}.media-grid--albums{gap:5px!important}}.global-search-panel[hidden]{display:none!important}.global-search-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.global-search-panel:not([hidden])~.chat-tabs,.global-search-panel:not([hidden])~.chat-list-container{display:none!important}.global-search-panel__header{min-height:42px;padding:7px 10px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.global-search-panel__status{min-width:0;flex:1;color:var(--text-muted);font-size:12px;line-height:1.3}.global-search-panel__deep{min-height:28px;max-width:58%;padding:4px 9px;border:1px solid var(--border-subtle);border-radius:var(--r-full);background:var(--bg-elevated);color:var(--accent);font:inherit;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-panel__deep:hover:not(:disabled){border-color:var(--border-focus);background:var(--bg-hover)}.global-search-panel__deep:disabled{opacity:.55;cursor:default}.global-search-panel__results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 12px;scrollbar-gutter:stable}.global-search-section-title{position:sticky;top:0;z-index:2;padding:9px 8px 5px;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-search-result{width:100%;min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 9px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.global-search-result:hover,.global-search-result.is-selected{background:var(--bg-hover)}.global-search-result:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.global-search-result__avatar{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:15px;font-weight:700}.global-search-result--message{min-height:54px;padding-left:12px}.global-search-result__content{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.global-search-result__title-row{min-width:0;display:flex;align-items:center;gap:8px}.global-search-result__title{min-width:0;flex:1;overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.global-search-result__preview{overflow:hidden;color:var(--text-muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.global-search-result__time{flex-shrink:0;color:var(--text-muted);font-size:10px;font-weight:500}.global-search-mark{padding:0;border-radius:2px;background:color-mix(in srgb,var(--accent) 28%,transparent);color:inherit}.global-search-empty{min-height:160px;display:grid;place-items:center;padding:24px;color:var(--text-muted);font-size:13px;text-align:center}@media(max-width:680px){.global-search-panel__header{padding-inline:12px}.global-search-panel__results{padding-inline:7px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.global-search-result{min-height:62px;padding-block:10px}}body.nmm-window--chat .sidebar{display:none!important}body.nmm-window--chat .chat-pane{display:flex!important;width:100%!important;transform:none!important}body.nmm-window--chat #backToChats,body.nmm-window--chat #showSidebarBtn,body.nmm-window--chat #chatDropdownPopoutBtn{display:none!important}body.nmm-window--chat #app,body.nmm-window--chat .chat-pane,body.nmm-window--chat .chat-view{min-width:0}body.nmm-window--chat .chat-header{padding-left:max(12px,env(safe-area-inset-left))}body.nmm-window--chat .messages{max-width:980px}.window-mode-close{margin-top:12px}@media(max-width:720px){body.nmm-window--chat .chat-pane{transform:none!important}}.conv-item.is-saved-messages{background:color-mix(in srgb,var(--accent) 7%,transparent)}.conv-avatar--saved,.chat-avatar--saved{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 84%,#fff 16%),color-mix(in srgb,var(--accent) 72%,#1c3f72 28%))!important}.conv-avatar--saved svg{width:22px;height:22px;stroke-width:2.2}.chat-avatar--saved svg{width:24px;height:24px;stroke-width:2.1}#drawerSavedMessagesBtn .drawer-item-icon{color:var(--accent)}.message-reminder-sheet{width:min(520px,calc(100vw - 28px))}.message-reminder-context{display:grid;gap:6px;padding:14px 16px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--border-default) 76%,transparent);border-radius:16px;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent)}.message-reminder-conversation{color:var(--accent);font-size:12px;font-weight:700}.message-reminder-preview{display:-webkit-box;overflow:hidden;color:var(--text-primary);font-size:14px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.message-reminder-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.message-reminder-quick .btn{min-height:42px;justify-content:center}.message-reminder-field{display:grid;gap:8px}.message-reminder-field span{color:var(--text-secondary);font-size:12px;font-weight:650}.message-reminder-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-default);border-radius:12px;color:var(--text-primary);background:var(--bg-elevated);color-scheme:dark}[data-theme=light] .message-reminder-field input{color-scheme:light}.message-reminder-note{margin:12px 0 0;color:var(--text-muted);font-size:12px;line-height:1.45}.message-reminders-count{color:var(--text-muted);font-size:12px}.message-reminders-list{display:grid;gap:10px;max-height:min(62vh,580px);overflow:auto;padding:2px}.message-reminders-empty{padding:38px 16px;color:var(--text-muted);text-align:center}.message-reminder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--border-default) 78%,transparent);border-radius:16px;background:color-mix(in srgb,var(--bg-elevated) 84%,transparent)}.message-reminder-item.is-fired{opacity:.76}.message-reminder-open{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:13px 8px 13px 14px;border:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.message-reminder-open:hover .message-reminder-title{color:var(--accent)}.message-reminder-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.message-reminder-icon svg{width:19px;height:19px}.message-reminder-content{display:grid;min-width:0;gap:3px}.message-reminder-title,.message-reminder-preview,.message-reminder-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-reminder-title{color:var(--text-primary);font-size:14px;font-weight:700}.message-reminder-preview{color:var(--text-secondary);font-size:13px}.message-reminder-time{color:var(--text-muted);font-size:11px}.message-reminder-remove{margin-right:8px;color:var(--text-muted)}.message-reminder-remove:hover{color:var(--danger, #ef4444)}.drawer-item-value[hidden]{display:none}@media(max-width:600px){.message-reminder-sheet{width:100%}.message-reminder-quick{grid-template-columns:1fr 1fr}.message-reminders-list{max-height:58vh}}.media-collections-sheet{width:min(980px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));overflow:hidden}.media-collections-summary{margin-top:3px;color:var(--text-muted, #8b93a7);font-size:12px}.media-collections-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:0;height:calc(100% - 72px)}.media-collections-sidebar{display:flex;min-height:0;flex-direction:column;gap:12px;padding:16px;border-right:1px solid var(--border-color, rgba(128, 128, 128, .2));background:var(--surface-soft, rgba(128, 128, 128, .06))}.media-collection-create,.media-collection-picker-create,.media-collection-toolbar form{display:flex;gap:8px;align-items:center}.media-collection-create input,.media-collection-picker-create input,.media-collection-toolbar input{min-width:0;width:100%;border:1px solid var(--border-color, rgba(128, 128, 128, .25));border-radius:12px;background:var(--surface, #fff);color:var(--text-primary, #111827);padding:10px 12px;outline:none}.media-collection-create input:focus,.media-collection-picker-create input:focus,.media-collection-toolbar input:focus{border-color:var(--accent, #1687f8);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #1687f8) 18%,transparent)}.media-collections-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:6px;overflow:auto}.media-collection-nav,.media-collection-picker-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;border:0;border-radius:12px;background:transparent;color:inherit;padding:11px 12px;text-align:left;cursor:pointer}.media-collection-nav span,.media-collection-picker-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-collection-nav small,.media-collection-picker-option small{color:var(--text-muted, #8b93a7)}.media-collection-nav:hover,.media-collection-picker-option:hover,.media-collection-nav.active{background:color-mix(in srgb,var(--accent, #1687f8) 12%,transparent)}.media-collection-nav.active{color:var(--accent, #1687f8);font-weight:650}.media-collection-content{min-width:0;min-height:0;overflow:auto;padding:16px}.media-collection-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px}.media-collection-toolbar form{flex:1}.media-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.media-collection-item{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border-color, rgba(128, 128, 128, .2));border-radius:16px;background:var(--surface, #fff)}.media-collection-open{display:block;width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.media-collection-preview{position:relative;display:grid;height:138px;place-items:center;overflow:hidden;background:var(--surface-soft, rgba(128, 128, 128, .08))}.media-collection-preview img,.media-collection-preview video{width:100%;height:100%;object-fit:cover}.media-collection-play{position:absolute;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#00000094;color:#fff;font-size:18px}.media-collection-file-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;background:color-mix(in srgb,var(--accent, #1687f8) 14%,transparent);color:var(--accent, #1687f8)}.media-collection-file-icon svg{width:28px;height:28px}.media-collection-meta{display:grid;gap:4px;min-width:0;padding:12px 12px 46px}.media-collection-meta strong,.media-collection-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-collection-meta small{color:var(--text-muted, #8b93a7)}.media-collection-actions{position:absolute;right:8px;bottom:8px;display:flex;gap:4px}.media-collection-actions .icon-btn{width:32px;height:32px;background:var(--surface-soft, rgba(128, 128, 128, .08))}.media-collection-picker-sheet{width:min(460px,calc(100vw - 24px))}.media-collection-picker-list{display:grid;gap:6px;max-height:min(42dvh,360px);overflow:auto;padding:4px 16px 12px}.media-collection-picker-option{grid-template-columns:minmax(0,1fr) auto auto;border:1px solid var(--border-color, rgba(128, 128, 128, .18));background:var(--surface, #fff)}.media-collection-picker-option svg{width:18px;height:18px;color:var(--accent, #1687f8)}.media-collection-picker-create{padding:12px 16px 16px;border-top:1px solid var(--border-color, rgba(128, 128, 128, .18))}@media(max-width:700px){.media-collections-sheet{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.media-collections-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.media-collections-sidebar{max-height:190px;border-right:0;border-bottom:1px solid var(--border-color, rgba(128, 128, 128, .2))}.media-collections-list{flex-direction:row;overflow-x:auto;overflow-y:hidden}.media-collection-nav{min-width:150px}.media-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-collection-toolbar{align-items:stretch}.media-collection-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) auto}}@media(max-width:430px){.media-collection-grid{grid-template-columns:1fr}.media-collection-preview{height:180px}.media-collection-picker-create{align-items:stretch;flex-direction:column}}
