:root{color-scheme:light;--accent: #3390ec;--accent-hover: #2b7fd4;--accent-active: #2674c2;--on-accent: #ffffff;--bg: #ffffff;--bg-side: #ffffff;--bg-chat: #ccd5dd;--bg-chat-grad-a: #d3dce4;--bg-chat-grad-b: #c3cfd9;--chat-dot: rgba(255, 255, 255, .45);--bg-hover: #f2f3f5;--bg-active: #e9eaec;--bg-input: #f1f3f5;--page-bg: #c6cdd3;--text: #000000;--text-muted: #707991;--muted: var(--text-muted);--border: var(--divider);--divider: #e7e8ea;--bubble-in: #ffffff;--bubble-out: #effdde;--bubble-out-grad: #e4f7cf;--bubble-meta: rgba(0, 0, 0, .38);--bubble-meta-out: #5aab6e;--check-read: #4fa3e3;--radius-bubble: 14px;--radius-md: 12px;--radius-sm: 8px;--avatar-radius: 50%;--shadow-bubble: 0 1px 2px rgba(0, 0, 0, .12);--shadow-pop: 0 2px 10px rgba(0, 0, 0, .16);--shadow-panel: 0 0 24px rgba(0, 0, 0, .14);--shadow-sidebar: 1px 0 0 var(--divider), 4px 0 12px rgba(0, 0, 0, .04);--t-fast: .12s ease;--t: .17s ease;--app-max-width: 1280px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text)}[data-theme=dark]{color-scheme:dark;--accent: #5aa7ef;--accent-hover: #6fb3f2;--accent-active: #4e98e0;--bg: #17212b;--bg-side: #17212b;--bg-chat: #0e1621;--bg-chat-grad-a: #0f1a25;--bg-chat-grad-b: #0b131c;--bg-hover: #202b36;--bg-active: #2b3743;--bg-input: #242f3d;--page-bg: #0a0f14;--chat-dot: rgba(255, 255, 255, .035);--text: #ffffff;--text-muted: #7d8e9e;--divider: #0d161f;--bubble-in: #182533;--bubble-out: #2b5278;--bubble-out-grad: #2b5278;--bubble-meta: rgba(255, 255, 255, .4);--bubble-meta-out: rgba(255, 255, 255, .5);--check-read: #6fcaff;--shadow-bubble: 0 1px 2px rgba(0, 0, 0, .35);--shadow-pop: 0 2px 12px rgba(0, 0, 0, .5);--shadow-panel: 0 0 24px rgba(0, 0, 0, .5);--shadow-sidebar: 1px 0 0 var(--divider), 4px 0 12px rgba(0, 0, 0, .25)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--page-bg)}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}[data-theme=dark] *{scrollbar-color:rgba(255,255,255,.15) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-button{display:none}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}[data-theme=dark] *::-webkit-scrollbar-thumb{background:#ffffff26}.app-shell{height:100%;max-width:var(--app-max-width);margin:0 auto;background:var(--bg);display:flex;overflow:hidden;border-left:1px solid var(--divider);border-right:1px solid var(--divider);box-shadow:var(--shadow-panel)}@media(max-width:600px){.app-shell{max-width:100%;border:none;box-shadow:none}}.auth-screen{margin:auto;width:100%;display:flex;justify-content:center}.auth-card{display:flex;flex-direction:column;gap:12px;width:320px;padding:28px}.auth-card h1{margin:0 0 8px;font-size:24px;text-align:center}.auth-card input{padding:11px 12px;border:1px solid var(--divider);border-radius:8px;font-size:15px;outline:none}.auth-card input:focus{border-color:var(--accent)}.password-field{position:relative;display:flex}.password-field input{flex:1;padding-right:42px}.password-toggle{position:absolute;top:0;right:0;height:100%;width:40px;display:flex;align-items:center;justify-content:center;border:none;background:none;padding:0;color:var(--muted, #707579);cursor:pointer}.password-toggle:hover{color:var(--text)}.auth-card button[type=submit]{padding:11px 12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;cursor:pointer}.auth-card button[type=submit]:disabled{opacity:.5;cursor:default}.auth-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px}.auth-error{margin:0;color:#d14836;font-size:14px;text-align:center}.home{display:flex;width:100%;height:100%}.sidebar{width:320px;min-width:260px;display:flex;flex-direction:column;background:var(--bg-side);box-shadow:var(--shadow-sidebar);z-index:1}.home-header{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--divider);font-weight:600}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.icon-button:hover{background:var(--bg-hover);color:var(--text)}.home-header-actions{display:inline-flex;align-items:center;gap:4px}.home-header button{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:400}.home-header .icon-button{color:var(--text-muted)}.notif-settings{position:relative;display:inline-flex}.notif-menu{position:fixed;z-index:20;min-width:240px;padding:6px;background:var(--bg);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.notif-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:var(--radius-sm);font-weight:400;cursor:pointer}.notif-row:hover{background:var(--bg-hover)}.notif-row input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.notif-hint{padding:6px 10px 8px;color:var(--text-muted);font-size:12px;font-weight:400}.notif-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000059;animation:fadeIn .15s ease}.notif-modal{background:var(--bg);border-radius:12px;padding:28px 32px 24px;width:340px;max-width:90vw;box-shadow:0 8px 32px #0000002e;text-align:center;animation:modalIn .2s ease}.notif-modal-icon{font-size:36px;margin-bottom:12px}.notif-modal-title{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--text)}.notif-modal-text{margin:0 0 20px;font-size:14px;color:var(--text-muted);line-height:1.4}.notif-modal-actions{display:flex;gap:10px;justify-content:center}.notif-modal-btn{border:none;border-radius:8px;padding:8px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.notif-modal-btn--primary{background:var(--accent);color:var(--on-accent)}.notif-modal-btn--primary:hover{background:var(--accent-hover)}.notif-modal-btn--secondary{background:var(--bg-input);color:var(--text)}.notif-modal-btn--secondary:hover{background:var(--bg-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes popup-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.conversation{flex:1;min-width:0;display:flex;position:relative;background-color:var(--bg-chat);background-image:radial-gradient(var(--chat-dot) 1px,transparent 1.5px),linear-gradient(135deg,var(--bg-chat-grad-a),var(--bg-chat-grad-b));background-size:22px 22px,100% 100%}.conversation-empty{margin:auto;padding:7px 16px;border-radius:16px;background:#0000002e;color:#fff;font-size:14px}.conv{position:relative;display:flex;flex-direction:column;flex:1;min-width:0}.conv-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg);border-bottom:1px solid var(--divider);font-weight:600}.conv-back{display:none;border:none;background:none;font-size:26px;line-height:1;color:var(--accent);cursor:pointer;padding:0 4px 0 0}.conv-typing{display:inline-flex;align-items:center;flex:none;font-weight:400;font-size:13px;color:var(--accent);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typing-dots{display:inline-flex;align-items:flex-end;gap:2px;margin-left:4px;margin-bottom:2px}.typing-dots i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:typing-pulse 1.2s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.conv-headline{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:8px;border:none;background:none;padding:0;font:inherit;text-align:left;cursor:pointer}.conv-headline--clickable{cursor:pointer}.conv-headline-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.conv-header-avatar{width:32px;height:32px;border-radius:50%;color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.conv-title{font-weight:600;font-size:16px;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-subtitle{font-weight:400;font-size:13px;color:var(--text-muted)}.conv-subtitle--online{color:var(--accent)}.conv-subtitle--away{color:#ffc107}.conv-headline--clickable:hover .conv-title{color:var(--accent)}.conv-scroll{position:relative;flex:1;overflow-y:auto;padding:16px}.conv-loading{text-align:center;color:var(--text-muted);font-size:13px;padding-bottom:8px}.conv-messages{display:flex;flex-direction:column;gap:2px}.msg-row{display:flex;justify-content:flex-start}.msg-row.msg-own{justify-content:flex-end}.date-divider{display:flex;justify-content:center;margin:12px 0 10px}.date-divider span{padding:4px 12px;border-radius:14px;background:#0000002e;color:#fff;font-size:13px;font-weight:500}.bubble{position:relative;max-width:70%;min-width:0;display:flex;flex-direction:column;padding:6px 10px;border-radius:var(--radius-bubble);background:var(--bubble-in);color:var(--text);font-size:15px;line-height:1.34;word-wrap:break-word;overflow-wrap:anywhere;box-shadow:var(--shadow-bubble)}.bubble.is-group-start{margin-top:8px}.bubble-own{background:linear-gradient(var(--bubble-out),var(--bubble-out-grad))}.bubble.is-tail:not(.bubble-own){border-bottom-left-radius:5px}.bubble.is-tail:not(.bubble-own):after{content:"";position:absolute;left:-6px;bottom:0;border-right:8px solid var(--bubble-in);border-top:11px solid transparent}.bubble-own.is-tail{border-bottom-right-radius:5px}.bubble-own.is-tail:after{content:"";position:absolute;right:-6px;bottom:0;border-left:8px solid var(--bubble-out-grad);border-top:11px solid transparent}.bubble--group-in{margin-left:38px}.bubble-avatar{position:absolute;left:-38px;bottom:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;-webkit-user-select:none;user-select:none;cursor:pointer}.bubble-sender{margin-bottom:2px;font-size:13px;font-weight:600;line-height:1.1;cursor:pointer}.bubble-pending{opacity:.6}.bubble-failed{background:#ffe3e3}.bubble-content{white-space:pre-wrap}.bubble-meta{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1;color:var(--bubble-meta);-webkit-user-select:none;user-select:none;white-space:nowrap}.bubble-own .bubble-meta{color:var(--bubble-meta-out)}.bubble-edited-icon{display:inline-block;width:14px;height:14px;vertical-align:middle;opacity:.6}.bubble-status{display:inline-flex;align-items:center;margin-left:-1px}.bubble-status svg{display:block;width:16px;height:16px}.bubble-status.is-read,.bubble-own .bubble-status.is-read{color:var(--check-read)}.bubble-status.is-failed{color:#e23b3b;font-weight:700;font-size:13px}.bubble-spinner{display:inline-block;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.7;animation:bubble-spin .7s linear infinite}@keyframes bubble-spin{to{transform:rotate(360deg)}}.bubble-retry{align-self:flex-end;margin-top:3px;padding:2px 9px;border:none;border-radius:10px;background:#e23b3b;color:#fff;font-size:12px;font-weight:500;cursor:pointer}.bubble-retry:hover{filter:brightness(1.08)}.bubble-actions{display:none;position:absolute;top:-12px;right:4px;gap:2px;padding:2px 4px;white-space:nowrap;background:var(--bg);border-radius:14px;box-shadow:0 1px 6px #0000002e;z-index:1}.bubble:hover .bubble-actions{display:inline-flex;animation:popup-in .15s ease-out}.has-ctx-menu .bubble-actions,.has-emoji-picker .bubble-actions{display:none!important}.bubble-actions button{display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px}.bubble-actions button svg{width:16px;height:16px;transition:color .15s,background .15s}.bubble-actions button:hover{color:var(--accent);background:var(--bg-hover)}.bubble-reply{display:block;padding:4px 8px;margin-bottom:4px;border-left:3px solid var(--accent);border-radius:4px;background:#0000000a;cursor:pointer;max-height:60px;overflow:hidden}.bubble-own .bubble-reply{background:#ffffff26}.bubble-reply-to-me{border-left:3px solid #e17076}.msg-row.is-highlighted{animation:highlight-bg 2s ease-out forwards}@keyframes highlight-bg{0%{background-color:#3390ec26}to{background-color:transparent}}.bubble-reply-name{display:block;font-size:12px;font-weight:600;margin-bottom:1px}.bubble-reply-text{display:block;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-reply-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg);border-top:1px solid var(--border);font-size:13px;animation:reply-slide-in .15s ease-out}@keyframes reply-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.conv-reply-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;gap:6px}.conv-reply-name{font-weight:600;flex-shrink:0}.conv-reply-close{flex-shrink:0;border:none;background:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.conv-reply-close:hover{color:var(--accent)}.bubble--media{max-width:90%;padding:0}.bubble--media .bubble-sender{display:block;padding:6px 10px 2px}.bubble--media .bubble-caption,.bubble--media .bubble-text{display:block;padding:4px 10px 0}.bubble--media .bubble-footer{padding:2px 10px 4px}.bubble-image{display:block;line-height:0}.bubble-image img{display:block;max-width:100%;max-height:480px;height:auto;border-radius:0}.bubble--media .bubble-image:first-child img{border-radius:12px 12px 0 0}.bubble--media .bubble-image:last-child img{border-radius:0 0 12px 12px}.bubble--media .bubble-image:only-child img{border-radius:12px}.bubble-image img.is-openable{cursor:pointer}.bubble-caption{display:block;margin-top:4px}.bubble-image+.bubble-text{display:block;margin-top:4px}.bubble-link{display:flex;gap:8px;align-items:flex-start;margin-top:4px;padding:6px 8px;border-left:3px solid var(--accent);border-radius:4px;background:var(--bg-hover);text-decoration:none;color:inherit;max-width:320px}.bubble-link-img{flex:none;width:56px;height:56px;object-fit:cover;border-radius:4px}.bubble-link-body{display:flex;flex-direction:column;min-width:0}.bubble-link-site{font-size:12px;color:var(--accent)}.bubble-link-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bubble-link-desc{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bubble-draft{opacity:.7;border:1px dashed var(--bubble-meta);animation:draft-in .2s ease-out}.bubble-draft-status{color:var(--accent);font-style:italic}@keyframes draft-in{0%{opacity:0;transform:translateY(8px)}to{opacity:.7;transform:translateY(0)}}.composer-link{display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--bg-hover);border-top:1px solid var(--divider);border-left:3px solid var(--accent)}.composer-link-img{flex:none;width:40px;height:40px;object-fit:cover;border-radius:4px}.composer-link-body{flex:1;display:flex;flex-direction:column;min-width:0}.composer-link-site{font-size:12px;color:var(--accent)}.composer-link-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-link-desc{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-link-close{flex:none;border:none;background:none;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.media-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px}.media-viewer-close{position:absolute;top:16px;right:20px;width:36px;height:36px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;font-size:18px;cursor:pointer}.media-viewer-close:hover{background:#ffffff38}.media-viewer-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;max-height:100%}.media-viewer-img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain;border-radius:4px}.media-viewer-fig figcaption,.media-viewer-msg{color:#fff;font-size:14px;text-align:center}.conv-attach{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.conv-attach:hover:not(:disabled){color:var(--accent);background:var(--bg-hover)}.conv-attach:disabled{opacity:.4;cursor:default}.img-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center}.img-editor{background:var(--bg);border-radius:12px;padding:16px;width:min(520px,92vw);display:flex;flex-direction:column;gap:12px}.img-editor-preview{display:flex;align-items:center;justify-content:center;min-height:240px;max-height:60vh;overflow:hidden;background:var(--bg-input);border-radius:8px}.img-editor-preview img{max-width:100%;max-height:60vh;object-fit:contain}.img-editor-stage{position:relative;flex:none}.img-editor-stage img{display:block}.img-editor-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:crosshair}.img-editor-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.img-editor-tool-label{font-size:13px;color:var(--text-muted)}.img-editor-color{width:22px;height:22px;border-radius:50%;border:2px solid rgba(127,127,127,.4);cursor:pointer;padding:0}.img-editor-color.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak, rgba(0, 128, 96, .25))}.img-editor-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.img-editor-controls input{flex:1;padding:9px 12px;border:1px solid var(--divider);border-radius:18px;outline:none;font-size:14px}.img-editor-controls input:focus{border-color:var(--accent)}.img-editor-controls button{border:none;border-radius:8px;padding:8px 14px;cursor:pointer;background:var(--bg-input);color:var(--text)}.img-editor-controls button[data-testid=image-send]{background:var(--accent);color:#fff}.img-editor-controls button:disabled{opacity:.5;cursor:default}.conv-editing{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:var(--bg-hover);border-top:1px solid var(--divider);font-size:13px;color:var(--text-muted)}.conv-editing button{border:none;background:none;color:var(--accent);cursor:pointer}.conv-input{display:flex;align-items:flex-end;gap:8px;padding:8px 12px;background:var(--bg);border-top:1px solid var(--divider);position:relative}.conv-input-field{flex:1;display:flex;align-items:flex-end;gap:4px;padding:0 6px 0 8px;background:var(--bg-input);border:1px solid transparent;border-radius:20px;transition:border-color var(--t-fast),background var(--t-fast)}.conv-input-field:focus-within{background:var(--bg);border-color:var(--accent)}.conv-input-field .conv-attach{margin-bottom:5px}.conv-textarea{flex:1;min-width:0;padding:11px 6px;border:none;background:none;outline:none;font-family:inherit;font-size:15px;line-height:1.35;color:var(--text);resize:none;max-height:160px;overflow-y:auto}.conv-textarea::placeholder{color:var(--text-muted)}.composer-wrapper{position:relative;flex:1;min-width:0}.composer-editable{min-width:0;padding:11px 6px;border:none;background:none;outline:none;font-family:inherit;font-size:15px;line-height:1.35;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto;scrollbar-width:none;flex:1;width:100%}.composer-editable::-webkit-scrollbar{display:none}.composer-editable:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.composer-editable .mention-highlight{color:var(--accent);background:#3390ec1a;border-radius:3px;padding:0 2px}.composer-editable .message-code{background:#0000000f;border-radius:4px;padding:1px 5px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.9em}[data-theme=dark] .composer-editable .message-code{background:#ffffff1a}.composer-editable .message-link{color:var(--accent);text-decoration:none}.conv-composer-wrap{position:relative}.formatting-bar{display:flex;align-items:center;gap:2px;padding:6px 12px;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0000000d}[data-theme=dark] .formatting-bar{box-shadow:0 -2px 8px #0003}.formatting-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:none;color:var(--text);cursor:pointer;font-size:14px;transition:background .15s}.formatting-btn:hover{background:#0000000f}[data-theme=dark] .formatting-btn:hover{background:#ffffff1a}.formatting-separator{width:1px;height:20px;background:var(--border);margin:0 4px}.link-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.link-dialog{background:var(--bg);border-radius:12px;padding:20px;min-width:320px;box-shadow:0 8px 32px #0003}.link-dialog h3{margin:0 0 16px;font-size:16px;font-weight:600}.link-dialog label{display:block;margin-bottom:12px;font-size:13px;color:var(--text-muted)}.link-dialog input{display:block;width:100%;margin-top:4px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text);font-size:14px;outline:none}.link-dialog input:focus{border-color:var(--accent)}.link-dialog-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.link-dialog-buttons button{padding:8px 16px;border:none;border-radius:8px;font-size:14px;cursor:pointer}.link-dialog-buttons button:first-child{background:none;color:var(--text)}.link-dialog-buttons button:last-child{background:var(--accent);color:#fff}.link-dialog-buttons button:disabled{opacity:.5;cursor:not-allowed}.conv-send{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.conv-send:disabled{background:var(--bg-input);color:var(--text-muted);cursor:default}.conv-send svg{transform:translate(1px)}.conv-mic-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:50%;background:var(--bg-input);color:var(--text-muted);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);touch-action:none;-webkit-user-select:none;user-select:none}.conv-mic-btn:hover{background:var(--accent-weak, rgba(0, 128, 96, .12));color:var(--accent)}.conv-mic-icon{display:inline-flex;transition:transform .18s ease}.conv-mic-btn:active .conv-mic-icon{transform:rotate(90deg) scale(.9)}.conv-mic-btn.is-recording{background:#e53935;color:#fff;animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{0%,to{box-shadow:0 0 #e5393573}50%{box-shadow:0 0 0 8px #e5393500}}.conv-rec-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;margin-bottom:6px;border-radius:12px;background:var(--bg-input)}.conv-rec-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#e53935;animation:rec-pulse 1.2s ease-in-out infinite}.conv-rec-timer{font-variant-numeric:tabular-nums;font-size:14px;color:var(--text)}.conv-rec-wave{flex:1;display:flex;align-items:center;gap:2px;height:24px;overflow:hidden}.conv-rec-wave span{flex:none;width:3px;border-radius:2px;background:var(--accent);transition:height 80ms linear}.conv-rec-hint{font-size:12px;color:var(--text-muted);white-space:nowrap}.conv-rec-hint.armed{color:#e53935;font-weight:600}.voice-bubble{display:flex;align-items:center;gap:10px;min-width:220px;padding:4px 2px}.voice-play{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer}.voice-play svg{width:18px;height:18px}.voice-loading{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-wave{flex:1;display:flex;align-items:center;gap:2px;height:28px;overflow:hidden;cursor:pointer}.voice-bar{flex:none;width:3px;border-radius:2px;background:var(--text-muted);opacity:.55}.voice-bar.filled{background:var(--accent);opacity:1}.voice-duration{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.voice-speed{flex:none;border:none;border-radius:10px;padding:2px 7px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.voice-speed:hover{background:#7f7f7f26;color:var(--text)}.bubble-video{position:relative;display:block;line-height:0;cursor:pointer;border-radius:12px;overflow:hidden}.bubble-video img{display:block;max-width:min(420px,100%);max-height:320px;width:auto;height:auto;border-radius:12px}.bubble-video-placeholder{display:block;width:280px;height:160px;background:#00000040}.bubble-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#0000008c;color:#fff;pointer-events:none}.bubble-video-play svg{width:26px;height:26px;margin-left:3px}.bubble-video-duration{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:10px;background:#0000008c;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}.video-rec-backdrop{z-index:210}.video-rec{position:relative;display:flex;flex-direction:column;gap:12px;width:min(520px,92vw);background:var(--bg);border-radius:12px;padding:16px}.video-rec-live,.video-rec-preview{width:100%;max-height:60vh;border-radius:8px;background:#000;object-fit:contain}.video-rec-live{transform:scaleX(-1)}.video-rec-close{position:absolute;right:10px;top:10px;z-index:1;width:32px;height:32px;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:20px;cursor:pointer}.video-rec-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-height:36px}.video-rec-dot{width:10px;height:10px;border-radius:50%;background:#e53935;animation:rec-pulse 1.2s ease-in-out infinite}.video-rec-timer{font-variant-numeric:tabular-nums;font-size:15px}.video-rec-limit{font-size:13px;color:var(--text-muted)}.video-rec-error{padding:40px 16px;text-align:center;color:var(--text-muted)}.media-viewer-video{max-width:92vw;max-height:88vh;border-radius:8px}.conv-call-actions{display:flex;align-items:center;gap:2px}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1f2c33,#10181c);color:#fff}.call-remote-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}.call-local-video{position:absolute;right:20px;top:20px;width:min(220px,28vw);aspect-ratio:4 / 3;border-radius:12px;object-fit:cover;background:#000;box-shadow:0 4px 16px #00000080;transform:scaleX(-1)}.call-local-video.off{opacity:.25}.call-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 24px}.call-avatar{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;font-size:38px;font-weight:600;color:#fff;-webkit-user-select:none;user-select:none}.call-name{font-size:24px;font-weight:600}.call-status{font-size:15px;opacity:.75;font-variant-numeric:tabular-nums}.call-controls{position:absolute;bottom:48px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:22px}.call-btn{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:none;border-radius:50%;font-size:26px;cursor:pointer;transition:filter var(--t-fast),opacity var(--t-fast)}.call-btn:hover{filter:brightness(1.1)}.call-btn.small{width:52px;height:52px;font-size:21px;background:#ffffff24;color:#fff}.call-btn.toggled{background:#ffffff52}.call-btn.accept{background:#2e7d32;color:#fff}.call-btn.decline{background:#e53935;color:#fff}.gallery-backdrop{z-index:220}.gallery-dialog{display:flex;flex-direction:column;width:min(720px,94vw);height:min(560px,86vh);background:var(--bg);border-radius:12px;overflow:hidden}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--divider)}.gallery-title{font-size:16px;font-weight:600}.gallery-close{border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:8px;display:inline-flex}.gallery-close:hover{background:#7f7f7f26;color:var(--text)}.gallery-empty{margin:auto;color:var(--text-muted);font-size:14px}.gallery-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:4px;padding:8px}.gallery-tile{position:relative;aspect-ratio:1;border:none;padding:0;border-radius:6px;overflow:hidden;cursor:pointer;background:var(--bg-input)}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}.gallery-tile:hover img{filter:brightness(1.08)}.gallery-tile-empty{display:block;width:100%;height:100%;background:var(--bg-input)}.gallery-dur{position:absolute;right:6px;bottom:6px;padding:1px 6px;border-radius:8px;background:#0000008c;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}.bubble-fwd{display:block;font-size:12.5px;font-weight:600;color:var(--accent);margin-bottom:2px}.forward-search{padding:10px 16px 0}.forward-search input{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--divider);border-radius:18px;outline:none;font-size:14px;background:var(--bg-input);color:var(--text)}.forward-list{flex:1;overflow-y:auto;padding:8px}.forward-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:10px;background:transparent;cursor:pointer;text-align:left;font-size:14px;color:var(--text)}.forward-item:hover{background:#7f7f7f1f}.forward-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;font-size:15px;font-weight:600}.forward-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble-file{display:flex;align-items:center;gap:10px;min-width:220px;padding:8px 10px;border:none;border-radius:10px;background:#7f7f7f1f;cursor:pointer;text-align:left}.bubble-file:hover{background:#7f7f7f33}.bubble-file-icon{flex:none;font-size:22px}.bubble-file-body{display:flex;flex-direction:column;gap:1px;min-width:0}.bubble-file-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble-file-size{font-size:12px;color:var(--text-muted)}.conv-pin-bar{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg-side);border-bottom:1px solid var(--divider)}.conv-pin-icon{flex:none;display:inline-flex;color:var(--accent)}.conv-pin-icon svg{width:16px;height:16px}.conv-pin-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;border:none;background:transparent;cursor:pointer;padding:2px 4px;border-radius:6px;text-align:left}.conv-pin-body:hover{background:#7f7f7f1f}.conv-pin-name{font-size:12px;font-weight:600;color:var(--accent)}.conv-pin-text{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.conv-pin-unpin{flex:none;display:inline-flex;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px}.conv-pin-unpin:hover{background:#7f7f7f26;color:var(--text)}.account-notices{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;width:max-content;max-width:90vw}.account-notice{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:10px;background:#2b2b36;color:#fff;box-shadow:0 4px 16px #00000040}.account-notice-body{display:flex;flex-direction:column;gap:2px}.account-notice-text{font-size:14px}.account-notice-detail{font-size:12px;color:#fff9}.account-notice button{border:none;background:none;color:#fff9;font-size:18px;line-height:1;cursor:pointer;padding:0}.account-notice button:hover{color:#fff}.chat-list{position:relative;display:flex;flex-direction:column;min-height:0;flex:1}.chat-fab{position:absolute;bottom:16px;right:16px;z-index:10;width:52px;height:52px;border:none;border-radius:50%;background:var(--accent);color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #00000040;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s;pointer-events:none}.chat-list:hover .chat-fab{opacity:1;transform:scale(1);pointer-events:auto}.chat-fab:active{transform:scale(.92)!important}@media(hover:none){.chat-fab{opacity:1;transform:scale(1);pointer-events:auto}}.chat-search{position:relative;display:flex;align-items:center;padding:6px 12px 8px}.chat-search-icon{position:absolute;left:24px;display:inline-flex;color:var(--text-muted);pointer-events:none}.chat-search-input{flex:1;min-width:0;height:36px;padding:0 12px 0 38px;border:1px solid transparent;border-radius:18px;background:var(--bg-input);font-size:14px;color:var(--text);outline:none;transition:background var(--t-fast),border-color var(--t-fast)}.chat-search-input::placeholder{color:var(--text-muted)}.chat-search-input:focus{background:var(--bg);border-color:var(--accent)}.chat-search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.new-chat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.new-chat-dialog{background:var(--bg);border-radius:12px;padding:16px;width:min(420px,92vw);display:flex;flex-direction:column;gap:12px}.new-chat-tabs{display:flex;align-items:center;gap:8px}.new-chat-tabs button{border:none;background:none;padding:6px 4px;font-size:15px;color:var(--muted, #707579);cursor:pointer;border-bottom:2px solid transparent}.new-chat-tabs button.is-active{color:var(--accent);border-bottom-color:var(--accent)}.new-chat-tabs .new-chat-close{margin-left:auto;font-size:14px;color:var(--muted, #707579)}.new-chat-form{display:flex;flex-direction:column;gap:10px}.new-chat-form input{padding:9px 12px;border:1px solid var(--divider);border-radius:18px;outline:none;font-size:14px}.new-chat-form input:focus{border-color:var(--accent)}.new-group-options{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;border:1px solid var(--divider);border-radius:10px}.new-group-option{text-align:left;border:none;background:none;padding:9px 12px;font-size:14px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--divider)}.new-group-option:last-child{border-bottom:none}.new-group-option:hover{background:var(--bg-hover)}.new-group-hint{margin:0;padding:8px 4px;font-size:13px;color:var(--muted, #707579)}.new-group-members{display:flex;flex-wrap:wrap;gap:6px}.group-member{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:var(--bg-input);border-radius:14px;font-size:13px}.group-member button{border:none;background:none;color:var(--muted, #707579);cursor:pointer;font-size:12px;padding:0;line-height:1}.new-chat-form button[type=submit]{align-self:flex-end;border:none;border-radius:8px;padding:9px 16px;background:var(--accent);color:#fff;font-size:14px;cursor:pointer}.new-chat-form button[type=submit]:disabled{opacity:.5;cursor:default}.new-chat-error{margin:0;color:#d14836;font-size:13px}.chat-list-items{flex:1;overflow-y:auto;min-height:0}.chat-list-empty{padding:16px;color:var(--text-muted);text-align:center}.chat-list-error{display:flex;flex-direction:column;align-items:center;gap:4px}.chat-list-error .chat-list-empty{padding:12px 16px 0}.chat-list-error-detail{color:var(--text-faint, var(--text-muted));font-size:12px}.chat-list-retry{border:none;background:none;color:var(--accent);cursor:pointer;padding:8px 16px;font-size:14px}.chat-list-retry:hover{text-decoration:underline}.chat-item{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px;row-gap:2px;width:100%;padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer;transition:background var(--t-fast)}.chat-item:hover{background:var(--bg-hover)}.chat-item:active{background:var(--bg-active)}.chat-item.is-selected{background:var(--accent);color:var(--on-accent)}.chat-avatar{position:relative;grid-column:1;grid-row:1 / span 2;width:50px;height:50px;border-radius:var(--avatar-radius);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;flex-shrink:0;box-shadow:0 1px 2px #0000001f}.avatar-status-dot{position:absolute;right:0;bottom:0;width:13px;height:13px;border-radius:50%;border:2px solid var(--bg);box-sizing:border-box}.avatar-status-dot.is-online{background:#4dcd5e}.avatar-status-dot.is-offline{background:#9aa6b2}.avatar-status-dot.is-away{background:#ffc107}.avatar-typing-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--accent);pointer-events:none;animation:avatar-typing-pulse 1.4s ease-in-out infinite}@keyframes avatar-typing-pulse{0%,to{opacity:1}50%{opacity:.45}}.chat-item-row{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.chat-item-top{grid-row:1}.chat-item-bottom{grid-row:2}.chat-item-title{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-time{flex-shrink:0;font-size:12px;color:var(--text-muted)}.chat-item.is-selected .chat-item-time{color:#ffffffd9}.chat-item-preview{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item.is-selected .chat-item-preview{color:#ffffffd9}.chat-item-unread{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;line-height:20px;text-align:center}.chat-item.is-selected .chat-item-unread{background:#fff;color:var(--accent)}.chat-item-mention{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e17076;color:#fff;font-size:12px;font-weight:600;line-height:20px;text-align:center}.chat-item.is-selected .chat-item-mention{background:#fff;color:#e17076}.auth-card button[type=submit],.new-chat-form button[type=submit],.members-add-btn{transition:background var(--t-fast)}.auth-card button[type=submit]:hover:not(:disabled),.conv-send:hover:not(:disabled),.members-add-btn:hover:not(:disabled),.new-chat-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.auth-card button[type=submit]:active:not(:disabled),.conv-send:active:not(:disabled),.members-add-btn:active:not(:disabled),.new-chat-form button[type=submit]:active:not(:disabled){background:var(--accent-active)}.home-header button:hover,.conv-editing button:hover,.auth-link:hover{text-decoration:underline}@media(max-width:600px){.sidebar{width:100%;min-width:0;border-right:none}.home .conversation,.home--chat-open .sidebar{display:none}.home--chat-open .conversation{display:flex}.conv-back{display:inline-flex;align-items:center}.bubble{max-width:85%}.account-notices{width:92vw}}.members-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh}.members-dialog{background:var(--bg);border-radius:12px;padding:16px;width:min(420px,92vw);display:flex;flex-direction:column;gap:12px}.members-head{display:flex;align-items:center;gap:8px}.members-head-text{display:flex;flex-direction:column}.members-title{font-weight:600;font-size:16px}.members-count{font-size:13px;color:var(--text-muted)}.members-close{margin-left:auto;border:none;background:none;font-size:14px;color:var(--text-muted);cursor:pointer}.members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow-y:auto}.member-row{display:flex;align-items:center;gap:10px;padding:6px 4px}.member-avatar{position:relative;flex:none;width:38px;height:38px;border-radius:50%;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer}.member-online-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#4dcd5e;border:2px solid var(--bg)}.member-online-dot.is-away{background:#ffc107}.member-info{display:flex;flex-direction:column;flex:1;min-width:0}.member-name{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.member-status{font-size:12px;color:var(--text-muted)}.member-remove{flex:none;border:none;background:none;color:#e0533d;font-size:13px;cursor:pointer;padding:4px 6px}.member-remove:disabled{opacity:.5;cursor:default}.members-empty{color:var(--text-muted);font-size:14px;text-align:center;margin:8px 0}.members-add{display:flex;gap:8px;margin-top:12px}.members-add-input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border, #d0d0d0);border-radius:8px;font-size:14px}.members-add-btn{flex:none;border:none;border-radius:8px;background:var(--accent, #3390ec);color:#fff;font-size:14px;padding:8px 14px;cursor:pointer}.members-add-btn:disabled{opacity:.5;cursor:default}.members-error{color:#e0533d;font-size:13px;margin:0}.profile-dialog{background:var(--bg);border-radius:12px;padding:16px;width:min(420px,92vw);display:flex;flex-direction:column;gap:12px}.profile-head{display:flex;align-items:center;gap:8px}.profile-title{font-weight:600;font-size:16px}.profile-body{display:flex;flex-direction:column;align-items:center;gap:12px}.profile-avatar{position:relative;width:80px;height:80px;border-radius:50%;color:#fff;font-weight:600;font-size:28px;display:flex;align-items:center;justify-content:center}.profile-username{font-size:18px;font-weight:600;color:var(--text)}.profile-meta{width:100%;display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--border)}.profile-meta-row{display:flex;justify-content:space-between;font-size:13px}.profile-meta-label{color:var(--text-muted)}.profile-meta-value{color:var(--text)}.profile-note-section{width:100%;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);padding-top:8px}.profile-note-label{font-size:13px;font-weight:600;color:var(--text-muted)}.profile-note-input{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit;resize:vertical;background:var(--bg);color:var(--text);min-height:60px}.profile-note-input::placeholder{color:var(--text-muted)}.profile-note-input:focus{outline:none;border-color:var(--accent)}.profile-note-hint{font-size:11px;color:var(--text-muted)}.group-info-title-input{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:18px;font-weight:600;font-family:inherit;background:var(--bg);color:var(--text);text-align:center}.group-info-title-input::placeholder{color:var(--text-muted)}.group-info-title-input:focus{outline:none;border-color:var(--accent)}.group-info-description-view{width:100%;font-size:14px;color:var(--text-muted);text-align:center;padding:8px 0}.group-info-members-btn{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;text-align:center;transition:background .15s}.group-info-members-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.conv-emoji-btn{border:none;background:none;font-size:20px;cursor:pointer;padding:4px;line-height:1;opacity:.7;transition:opacity .15s;align-self:center;flex-shrink:0}.conv-emoji-btn:hover{opacity:1}.emoji-picker{position:absolute;bottom:100%;left:0;width:320px;max-height:360px;background:var(--bg);border-radius:10px;box-shadow:0 2px 12px #0000002e;display:flex;flex-direction:column;z-index:100;margin-bottom:8px;overflow:hidden;animation:popup-in .15s ease-out}.emoji-picker-search{padding:8px;border-bottom:1px solid var(--border);flex-shrink:0}.emoji-picker-search input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);font-size:13px;outline:none;box-sizing:border-box}.emoji-picker-search input:focus{border-color:var(--accent)}.emoji-picker-categories{display:flex;gap:2px;padding:4px 8px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.emoji-picker-categories::-webkit-scrollbar{display:none}.emoji-cat-btn{border:none;background:none;font-size:18px;cursor:pointer;padding:4px 6px;border-radius:6px;opacity:.6;transition:opacity .15s,background .15s;flex-shrink:0}.emoji-cat-btn:hover{opacity:1;background:var(--bg-hover)}.emoji-cat-btn.active{opacity:1;background:var(--bg-active)}.emoji-picker-grid{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-pack-chip{border:none;background:none;cursor:pointer;padding:2px;border-radius:6px;width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.75;transition:opacity .15s,background .15s}.emoji-pack-chip:hover{opacity:1;background:var(--bg-hover)}.emoji-pack-chip.active{opacity:1;background:var(--bg-active)}.emoji-pack-chip img{width:22px;height:22px;object-fit:contain;border-radius:4px}.emoji-pack-chip-loading,.emoji-img-loading{display:block;width:22px;height:22px;border-radius:50%;background:var(--bg-hover);animation:emoji-pulse 1s ease-in-out infinite}@keyframes emoji-pulse{0%,to{opacity:.5}50%{opacity:1}}.emoji-img-btn{border:none;background:none;cursor:pointer;padding:2px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .1s}.emoji-img-btn:hover{background:var(--bg-hover)}.emoji-img-btn img{width:28px;height:28px;object-fit:contain}.emoji-btn{border:none;background:none;font-size:22px;cursor:pointer;padding:4px;border-radius:6px;transition:background .1s;line-height:1}.emoji-btn:hover{background:var(--bg-hover)}.emoji-picker-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:13px;padding:20px 0}.media-panel{position:absolute;bottom:100%;left:0;width:340px;height:380px;background:var(--bg);border-radius:10px;box-shadow:0 2px 12px #0000002e;display:flex;flex-direction:column;z-index:100;margin-bottom:8px;overflow:hidden;animation:popup-in .15s ease-out}.media-panel-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.media-tab{flex:1;padding:8px;border:none;background:none;color:var(--text-muted);font-size:13px;cursor:pointer;transition:color .1s}.media-tab:hover{color:var(--text)}.media-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.media-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.media-panel-content .emoji-picker,.media-panel-content .sticker-panel{position:static;width:100%;max-height:none;border-radius:0;box-shadow:none;margin-bottom:0;animation:none;border:none}.gif-picker{display:flex;flex-direction:column;height:100%}.gif-search{padding:8px;border-bottom:1px solid var(--border)}.gif-search input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);font-size:13px;outline:none;box-sizing:border-box}.gif-search input:focus{border-color:var(--accent)}.gif-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px;overflow-y:auto;flex:1}.gif-item{border:none;background:none;padding:0;cursor:pointer;border-radius:6px;overflow:hidden;aspect-ratio:1}.gif-item img{width:100%;height:100%;object-fit:cover;border-radius:6px}.gif-item:hover img{opacity:.85}.gif-empty{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:13px;padding:20px 0}.gif-load-more{padding:8px;border:none;border-top:1px solid var(--border);background:none;color:var(--accent);font-size:13px;cursor:pointer}.gif-load-more:hover{background:var(--bg-hover)}.gif-load-more:disabled{opacity:.5;cursor:default}.sticker-panel{position:absolute;bottom:100%;left:0;width:320px;max-height:360px;background:var(--bg);border-radius:10px;box-shadow:0 2px 12px #0000002e;display:flex;flex-direction:column;z-index:100;margin-bottom:8px;overflow:hidden;animation:popup-in .15s ease-out}.sticker-panel-tabs{display:flex;border-bottom:1px solid var(--border)}.sticker-tab{flex:1;padding:8px;border:none;background:none;color:var(--text-muted);font-size:13px;cursor:pointer}.sticker-tab.active{color:var(--accent);border-bottom:2px solid var(--accent)}.sticker-panel-search{padding:8px;border-bottom:1px solid var(--border)}.sticker-panel-search input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);font-size:13px;outline:none;box-sizing:border-box}.sticker-panel-search input:focus{border-color:var(--accent)}.sticker-packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;overflow-y:auto}.sticker-pack-item{display:flex;flex-direction:column;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;transition:background .1s}.sticker-pack-item:hover{background:var(--bg-hover)}.sticker-pack-placeholder{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg-input);border-radius:8px;margin-bottom:4px}.sticker-pack-title{font-size:11px;color:var(--text);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sticker-pack-count{font-size:10px;color:var(--text-muted)}.sticker-items-view{display:flex;flex-direction:column;height:100%}.sticker-items-header{display:flex;align-items:center;padding:8px;border-bottom:1px solid var(--border);gap:8px}.sticker-back-btn,.sticker-add-btn{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;cursor:pointer}.sticker-back-btn:hover,.sticker-add-btn:hover{background:var(--bg-hover)}.sticker-items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px;overflow-y:auto}.sticker-item-btn{border:none;background:none;padding:4px;cursor:pointer;border-radius:6px;transition:background .1s}.sticker-item-btn:hover{background:var(--bg-hover)}.sticker-thumb,.sticker-thumb-loading{width:64px;height:64px;object-fit:contain}.sticker-thumb-loading{background:var(--bg-input);border-radius:4px}.sticker-loading{text-align:center;color:var(--text-muted);font-size:13px;padding:20px 0}.bubble-sticker{display:inline-block;max-width:160px;max-height:160px}.sticker-img{max-width:100%;max-height:160px;object-fit:contain}.sticker-loading{display:inline-block;width:80px;height:80px;background:var(--bg-input);border-radius:8px}.channel-info-dialog{max-width:400px}.channel-info-avatar{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin:0 auto 12px}.channel-info-title{text-align:center;font-size:18px;font-weight:600}.channel-info-username{text-align:center;color:var(--text-muted);font-size:14px;margin-top:2px}.channel-info-desc{text-align:center;color:var(--text);font-size:14px;margin-top:8px}.channel-info-stats{text-align:center;color:var(--text-muted);font-size:13px;margin-top:12px;display:flex;flex-direction:column;gap:4px}.channel-subscribe-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;background:var(--bg-secondary, #f0f2f5);border-top:1px solid var(--border);font-size:14px;color:var(--text)}.channel-info-link{display:flex;gap:6px;margin-top:12px}.channel-info-link-input{flex:1;padding:6px 10px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-muted);outline:none;min-width:0}.channel-info-web-link{color:var(--accent);text-decoration:none}.channel-info-web-link:hover{text-decoration:underline}.channel-info-input{width:100%;padding:8px 10px;margin-top:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);font-size:14px;outline:none;box-sizing:border-box}.channel-info-input:focus{border-color:var(--accent)}.channel-info-error{color:#e0533d;font-size:13px;margin-top:8px;text-align:center}.channel-info-actions{display:flex;gap:8px;margin-top:12px;justify-content:center}.new-channel-handle-row{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-input);margin-top:8px}.new-channel-handle-row .new-channel-at{padding:8px 0 8px 10px;color:var(--text-muted);font-size:14px}.new-channel-handle-row input{flex:1;border:none;background:transparent;padding:8px 10px 8px 0;font-size:14px;outline:none}.new-channel-handle-row:focus-within{border-color:var(--accent)}.new-channel-type{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:8px}.new-channel-type button{flex:1;padding:8px;border:none;background:var(--bg-input);color:var(--text);font-size:13px;cursor:pointer}.new-channel-type button.active{background:var(--accent);color:#fff}.bubble-views{font-size:11px;color:var(--text-muted);margin-left:6px}.search-channels-dialog{max-width:400px}.search-channels-dialog .search-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);font-size:14px;outline:none;box-sizing:border-box}.search-channels-dialog .search-input:focus{border-color:var(--accent)}.search-results{margin-top:8px;max-height:300px;overflow-y:auto}.search-result-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;background:none;cursor:pointer;text-align:left;border-radius:6px}.search-result-item:hover{background:var(--bg-hover)}.search-result-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.search-result-info{flex:1;min-width:0}.search-result-title{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-subtitle,.search-result-meta{font-size:12px;color:var(--text-muted)}.search-loading,.search-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:16px 0}.context-menu{position:fixed;z-index:200;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #0000002e;padding:4px 0;animation:popup-in .15s ease-out}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:none;color:var(--text);font-size:14px;text-align:left;cursor:pointer;transition:background .1s}.context-menu-item:hover,.context-menu-item:focus-visible{background:var(--bg-hover);outline:none}.context-menu-item.danger{color:#e0533d}.context-menu-item:disabled{opacity:.4;cursor:default}.context-menu-icon{display:flex;align-items:center;width:18px;height:18px;flex-shrink:0;opacity:.7}.context-menu-separator{height:1px;background:var(--border);margin:4px 0}.about-dialog{background:var(--bg);border-radius:12px;padding:28px 32px;width:380px;max-width:90vw;box-shadow:0 8px 32px #00000040}.about-dialog h2{margin:0 0 4px;font-size:20px}.about-version{color:var(--text-muted);margin:0 0 4px;font-size:13px}.about-hash{color:var(--text-muted);margin:0 0 20px;font-size:11px;font-family:monospace;opacity:.6}.about-section{margin-bottom:18px}.about-section h3{margin:0 0 6px;font-size:14px;color:var(--text-muted);font-weight:500}.about-section p{margin:2px 0;font-size:14px}.about-section a{color:var(--accent);text-decoration:none}.about-section a:hover{text-decoration:underline}.about-license,.about-copyright{color:var(--text-muted);font-size:12px}.about-close{width:100%;padding:10px;margin-top:8px;border:none;border-radius:8px;background:var(--bg-hover);color:var(--text);font-size:14px;cursor:pointer;transition:background .15s}.full-emoji-picker-wrap .emoji-picker{position:static;margin-bottom:0}.about-close:hover{background:var(--bg-active)}.bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:2px;min-height:1.2em}.bubble-reactions{display:inline-flex;flex-wrap:wrap;gap:3px;margin-right:auto}.bubble-reaction{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;font-size:14px;transition:background .15s,border-color .15s}.bubble-reaction:hover{background:var(--bg-hover)}.bubble-reaction.own{border-color:var(--accent);background:#3390ec14}.bubble-reaction-emoji{line-height:1}.bubble-reaction-count{font-size:12px;color:var(--text-muted);line-height:1}.reaction-bar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border)}.reaction-bar-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:none;cursor:pointer;font-size:20px;transition:background .15s,transform .15s}.reaction-bar-btn:hover{background:var(--bg-hover);transform:scale(1.15)}.reaction-bar-more{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:var(--bg-hover);cursor:pointer;color:var(--text-muted);margin-left:2px;transition:background .15s,color .15s}.reaction-bar-more:hover{background:var(--bg-active);color:var(--text)}.mention-highlight{color:var(--accent);background:#3390ec1a;border-radius:3px;padding:0 2px;cursor:pointer;font-weight:500}.message-link{color:var(--accent);text-decoration:none;cursor:pointer}.message-link:hover{text-decoration:underline}.message-code{background:#0000000f;border-radius:4px;padding:1px 5px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.9em}.bubble del{text-decoration:line-through!important}[data-theme=dark] .message-code{background:#ffffff1a}.mention-popup{position:absolute;bottom:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0000001a;z-index:10;animation:popup-in .15s ease-out}.mention-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:none;cursor:pointer;text-align:left;color:var(--text)}.mention-item.selected,.mention-item:hover{background:var(--bg-active)}.mention-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.mention-name{font-size:14px;font-weight:500}.setup-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg)}.setup-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:380px;margin:16px;box-shadow:0 4px 16px #0000001a}.setup-title{font-size:24px;font-weight:600;text-align:center;margin-bottom:8px;color:var(--text)}.setup-subtitle{text-align:center;color:var(--text-muted);margin-bottom:32px;font-size:14px}.setup-label{display:block;margin-bottom:8px;font-size:14px;color:var(--text-muted)}.setup-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:16px;outline:none;transition:border-color .2s}.setup-input:focus{border-color:var(--accent)}.setup-input::placeholder{color:var(--text-muted)}.setup-btn{width:100%;padding:12px;margin-top:24px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.setup-btn:hover{background:var(--accent-hover)}.setup-btn:disabled{background:var(--text-muted);cursor:not-allowed}.setup-error{color:#e74c3c;font-size:13px;margin-top:8px}.push-warning-banner{background:#fff3cd;border-bottom:1px solid #ffc107;padding:12px 16px;font-size:14px;color:#856404}[data-theme=dark] .push-warning-banner{background:#332d00;border-bottom-color:#665c00;color:#ffc107}.push-warning-header{display:flex;justify-content:space-between;align-items:center;font-weight:600}.push-warning-close{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;padding:0 4px}.push-warning-details{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:4px 0;margin-top:4px}.push-warning-content{margin-top:8px;line-height:1.5}.push-warning-content ol{margin:8px 0;padding-left:20px}.push-warning-content li{margin:4px 0}.push-warning-content a{color:var(--accent)}.push-warning-actions{display:flex;gap:8px;margin-top:12px}@property --sb-thumb{syntax: "<color>"; inherits: true; initial-value: transparent;}@-moz-document url-prefix(){.conv-scroll,.chat-list-items,.modal-body{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) transparent;transition:--sb-thumb .3s ease}.conv-scroll:hover,.chat-list-items:hover,.modal-body:hover{--sb-thumb: rgba(0, 0, 0, .2)}[data-theme=dark] .conv-scroll:hover,[data-theme=dark] .chat-list-items:hover,[data-theme=dark] .modal-body:hover{--sb-thumb: rgba(255, 255, 255, .25)}}.conv-scroll::-webkit-scrollbar,.chat-list-items::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:4px;transition:--sb-thumb .3s ease}.conv-scroll::-webkit-scrollbar-button,.chat-list-items::-webkit-scrollbar-button,.modal-body::-webkit-scrollbar-button{display:none}.conv-scroll::-webkit-scrollbar-track,.chat-list-items::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track{background:transparent}.conv-scroll::-webkit-scrollbar-thumb,.chat-list-items::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:3px}.conv-scroll:hover,.chat-list-items:hover,.modal-body:hover{--sb-thumb: rgba(0, 0, 0, .2)}[data-theme=dark] .conv-scroll:hover,[data-theme=dark] .chat-list-items:hover,[data-theme=dark] .modal-body:hover{--sb-thumb: rgba(255, 255, 255, .25)}.conv-mention-nav{position:absolute;bottom:8px;right:8px;width:40px;height:40px;border-radius:50%;background:#3390ec;color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040;transition:transform .15s,box-shadow .15s;z-index:10}.conv-mention-nav:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}[data-theme=dark] .conv-mention-nav{background:#5eabf6;box-shadow:0 2px 8px #00000080}[data-theme=dark] .conv-mention-nav:hover{box-shadow:0 4px 12px #0009}.bubble{transition:transform .1s ease;touch-action:pan-y}.bubble-swipe-indicator{position:absolute;left:-28px;top:50%;transform:translateY(-50%);font-size:20px;color:#3390ec;pointer-events:none;transition:opacity .1s ease}.home-header-title{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-screen{display:flex;flex-direction:column;height:100%;background:var(--bg)}.settings-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--divider)}.settings-header-title{font-weight:600;font-size:17px}.settings-back{font-size:20px;width:32px;height:32px}.settings-user{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--divider)}.settings-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.settings-username{font-size:16px;font-weight:600}.settings-items{flex:1;overflow-y:auto}.settings-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--divider);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;cursor:pointer;color:var(--text);font-size:15px;transition:background var(--t-fast)}.settings-row:hover{background:var(--bg-hover)}.settings-row--button{cursor:pointer}.settings-row-icon{font-size:20px;width:24px;text-align:center;flex-shrink:0}.settings-row-text{flex:1}.settings-row-value{color:var(--text-muted);font-size:14px}.settings-row-arrow{color:var(--text-muted);font-size:18px}.settings-lang{background:var(--bg-hover);color:var(--text);border:1px solid var(--divider);border-radius:8px;padding:6px 10px;font-size:14px;cursor:pointer}[dir=rtl] .conv-back svg,[dir=rtl] .settings-back svg{transform:scaleX(-1)}.settings-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:13px;background:var(--text-muted);position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.settings-toggle:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease}.settings-toggle:checked{background:#3390ec}.settings-toggle:checked:before{transform:translate(18px)}.settings-toggle:disabled{opacity:.5;cursor:not-allowed}.settings-hint{padding:8px 16px;color:var(--text-muted);font-size:13px}.settings-footer{padding:16px;border-top:1px solid var(--divider)}.settings-logout{width:100%;padding:10px;background:none;border:none;color:#e53935;font-size:15px;cursor:pointer;border-radius:8px;transition:background var(--t-fast)}.settings-logout:hover{background:#e5393514}.settings-debug{padding:12px 16px;border-top:1px solid var(--divider);font-size:12px;color:var(--text-muted);line-height:1.6}.settings-debug-title{font-weight:600;font-size:13px;margin-bottom:4px;color:var(--text)}.scroll-to-bottom{position:absolute;bottom:12px;right:16px;z-index:10;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg, #fff);box-shadow:0 2px 8px #00000026;color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease;animation:fadeInUp .2s ease}.scroll-to-bottom:hover{background:var(--bg-hover)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scroll-to-bottom-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:#3390ec;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}.nav-back-btn{position:absolute;bottom:60px;right:16px;z-index:10;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg, #fff);box-shadow:0 2px 8px #00000026;color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease;animation:fadeInUp .2s ease}.nav-back-btn:hover{background:var(--bg-hover)}
