.auth-container[data-v-5c749922]{background:#f4f6f8;min-height:100dvh;padding:32px}.auth-web-shell[data-v-5c749922]{background:#fff;border:1px solid #e2e8f0e6;border-radius:28px;grid-template-columns:minmax(330px,390px) minmax(0,1fr);width:min(1220px,100%);display:grid;overflow:hidden;box-shadow:0 28px 80px #0f172a24}.auth-web-shell.desktop-app[data-v-5c749922]{width:min(440px,100%);display:block}.auth-card.auth-login-panel[data-v-5c749922]{width:auto;max-width:none;min-height:620px;box-shadow:none;background:#fff;border-radius:0;margin:0;padding:50px 42px}.auth-download-panel[data-v-5c749922]{background:#fafbfc;min-width:0;padding:clamp(34px,5vw,66px)}.download-intro[data-v-5c749922]{margin-bottom:30px}.download-kicker[data-v-5c749922]{color:#dc2626;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}.download-intro h2[data-v-5c749922]{color:#101828;letter-spacing:-.045em;margin:6px 0 4px;font-size:clamp(30px,4vw,46px);line-height:1.05}.download-intro p[data-v-5c749922]{color:#667085;font-size:16px}.platform-grid[data-v-5c749922]{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.platform-card[data-v-5c749922]{background:#ffffffeb;border:1px solid #e2e8f0eb;border-radius:22px;flex-direction:column;align-items:flex-start;min-height:280px;padding:22px;display:flex;box-shadow:0 12px 24px #0f172a0f}.platform-card h3[data-v-5c749922]{color:#172033;letter-spacing:-.02em;margin:18px 0 5px;font-size:20px}.platform-card p[data-v-5c749922]{color:#667085;min-height:42px;font-size:13px;line-height:1.45}.platform-icon[data-v-5c749922]{border-radius:20px;place-items:center;width:64px;height:64px;display:grid}.platform-icon-image[data-v-5c749922]{object-fit:contain;width:42px;height:42px}.platform-icon.android[data-v-5c749922]{background:#eff9e9}.platform-icon.macos[data-v-5c749922]{background:#f1f3f5}.platform-icon.linux[data-v-5c749922]{background:#fff5dc}.platform-download[data-v-5c749922]{color:#fff;width:100%;font:inherit;cursor:pointer;background:#dc2626;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:11px 12px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.platform-download[data-v-5c749922]:hover{background:#b91c1c}.platform-download.unavailable[data-v-5c749922]{color:#98a2b3;cursor:not-allowed;background:#eef2f6}.auth-qr-row[data-v-5c749922]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.auth-qr-row .qr-item[data-v-5c749922]{text-align:left;background:#fff;border:1px solid #edf0f4;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.auth-qr-row .qr-img[data-v-5c749922]{border-radius:10px;width:76px;height:76px}.auth-qr-row .qr-label[data-v-5c749922]{margin:0 0 3px;font-size:13px}.qr-inline-link[data-v-5c749922]{color:#c51f28;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:750;text-decoration:none}.android-section[data-v-5c749922]{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:20px}.desktop-server-login[data-v-5c749922]{background:#fff8f8;border:1px solid #f2c8cb;border-radius:14px;margin:18px 0;padding:14px}.desktop-server-login-heading[data-v-5c749922]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.desktop-server-login-heading h3[data-v-5c749922]{color:#a71920;margin:0;font-size:15px}.desktop-server-login-heading span[data-v-5c749922]{color:#777;font-size:12px}.desktop-server-login-select[data-v-5c749922]{gap:8px;margin-top:10px;display:flex}.desktop-server-login-select select[data-v-5c749922],.desktop-server-add-form input[data-v-5c749922]{background:#fff;border:1px solid #ddd;border-radius:8px;flex:1;min-width:0;padding:8px}.desktop-server-add-toggle[data-v-5c749922]{color:#c51f28;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:13px}.desktop-server-add-form[data-v-5c749922]{grid-template-columns:1fr;gap:8px;margin-top:10px;display:grid}.desktop-downloads-section[data-v-5c749922]{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:20px}.desktop-downloads-list[data-v-5c749922]{gap:8px;display:grid}.desktop-download-link[data-v-5c749922]{color:#333;text-align:left;background:#fff;border:1px solid #f0c7ca;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 12px;text-decoration:none;display:grid}.desktop-download-link[data-v-5c749922]:hover{background:#fff5f5;border-color:#ef4444}.desktop-download-logo[data-v-5c749922]{color:#d92028;text-align:center;font-size:26px;line-height:1}.desktop-download-copy[data-v-5c749922]{gap:2px;min-width:0;display:grid}.desktop-download-copy strong[data-v-5c749922]{color:#333;font-size:14px}.desktop-download-copy small[data-v-5c749922]{color:#777;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.desktop-download-action[data-v-5c749922]{color:#c51f28;font-size:12px;font-weight:700}.android-title[data-v-5c749922]{text-align:center;color:#555;margin-bottom:16px;font-size:16px}.qr-row[data-v-5c749922]{justify-content:center;gap:24px;display:flex}.qr-item[data-v-5c749922]{text-align:center}.qr-image-button[data-v-5c749922]{cursor:zoom-in;background:0 0;border:0;padding:0}.qr-img[data-v-5c749922]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;width:140px;height:140px}.qr-label[data-v-5c749922]{color:#333;margin:8px 0 4px;font-size:13px;font-weight:600}.qr-actions[data-v-5c749922]{justify-content:center;gap:6px;display:flex}.btn-sm[data-v-5c749922]{cursor:pointer;color:#333;background:#f5f5f5;border:1px solid #ccc;border-radius:4px;padding:4px 10px;font-size:12px;text-decoration:none}.btn-sm[data-v-5c749922]:hover{background:#e8e8e8}.qr-preview-backdrop[data-v-5c749922]{z-index:50;background:#0f172ab8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qr-preview-card[data-v-5c749922]{background:#fff;border-radius:20px;width:min(92vw,520px);padding:18px;box-shadow:0 24px 80px #00000059}.qr-preview-header[data-v-5c749922]{justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:600;display:flex}.qr-preview-close[data-v-5c749922]{cursor:pointer;color:#444;background:0 0;border:0;font-size:28px;line-height:1}.qr-preview-img[data-v-5c749922]{background:#fff;border-radius:16px;width:100%;max-width:420px;margin:0 auto;display:block}.qr-preview-hint[data-v-5c749922]{text-align:center;color:#555;word-break:break-all;margin:14px 0 0;font-size:13px}@media (width<=1060px){.auth-container[data-v-5c749922]{align-items:flex-start;padding:24px}.auth-web-shell[data-v-5c749922]{grid-template-columns:minmax(300px,350px) minmax(0,1fr)}.auth-card.auth-login-panel[data-v-5c749922]{padding:42px 32px}.auth-download-panel[data-v-5c749922]{padding:38px 28px}.platform-card[data-v-5c749922]{min-height:250px;padding:16px}}@media (width<=860px){.auth-container[data-v-5c749922]{padding:18px}.auth-web-shell[data-v-5c749922]{max-width:620px;display:block}.auth-card.auth-login-panel[data-v-5c749922]{min-height:0;padding:40px 30px}.auth-download-panel[data-v-5c749922]{border-top:1px solid #edf0f4;padding:38px 30px}}@media (width<=560px){.auth-container[data-v-5c749922]{background:var(--bg-chat);padding:0}.auth-web-shell[data-v-5c749922]{box-shadow:none;border:0;border-radius:0}.auth-card.auth-login-panel[data-v-5c749922]{padding:42px 24px 32px}.auth-download-panel[data-v-5c749922]{padding:30px 18px}.download-intro h2[data-v-5c749922]{font-size:31px}.platform-grid[data-v-5c749922]{grid-template-columns:1fr}.platform-card[data-v-5c749922]{min-height:0;padding:18px}.platform-card p[data-v-5c749922]{min-height:0}.auth-qr-row[data-v-5c749922]{grid-template-columns:1fr}}.call-overlay[data-v-d954a583]{z-index:80;background:#0d141fc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.call-card[data-v-d954a583]{color:#fff;background:#152235;border-radius:24px;width:min(560px,100%);overflow:hidden;box-shadow:0 22px 70px #0006}.call-status[data-v-d954a583]{align-items:center;min-height:62px;padding:18px 22px;font-weight:700;display:flex}.call-media[data-v-d954a583]{background:#0d1623;min-height:320px;position:relative}.call-media.audio[data-v-d954a583]{place-items:center;display:grid}.call-media video[data-v-d954a583]:first-child{object-fit:cover;width:100%;height:320px}.call-audio-avatar[data-v-d954a583]{background:#e5282c;border-radius:50%;place-items:center;width:112px;height:112px;display:grid}.call-audio-avatar svg[data-v-d954a583]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:54px;height:54px}.call-local-video[data-v-d954a583]{object-fit:cover;border:2px solid #fffc;border-radius:14px;width:132px;height:176px;position:absolute;bottom:16px;right:16px}.call-controls[data-v-d954a583]{background:#152235;justify-content:center;align-items:center;gap:16px;min-height:92px;padding:18px 24px;display:flex}.call-controls.incoming[data-v-d954a583]{gap:20px}.call-btn[data-v-d954a583]{color:#fff;cursor:pointer;background:#2d405a;border:0;border-radius:50%;flex:0 0 56px;place-items:center;width:56px;height:56px;padding:0;transition:transform .16s,filter .16s,background .16s;display:grid}.call-btn[data-v-d954a583]:hover{filter:brightness(1.12);transform:translateY(-1px)}.call-btn[data-v-d954a583]:active{transform:scale(.94)}.call-btn[data-v-d954a583]:focus-visible{outline-offset:3px;outline:3px solid #ffffffe6}.call-btn svg[data-v-d954a583]{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.call-btn.accept[data-v-d954a583]{background:#1ca56f}.call-btn.decline[data-v-d954a583]{background:#e53940}@media (width<=520px){.call-overlay[data-v-d954a583]{padding:12px}.call-card[data-v-d954a583]{border-radius:20px}.call-media[data-v-d954a583]{min-height:min(62vh,420px)}.call-media video[data-v-d954a583]:first-child{height:min(62vh,420px)}.call-controls[data-v-d954a583]{min-height:84px;padding:14px 18px}}:root{--primary:#dc2626;--primary-dark:#b91c1c;--primary-light:#fee2e2;--primary-hover:#ef4444;--bg:#fff;--bg-secondary:#f9fafb;--bg-chat:#e8ecf0;--text:#111827;--text-secondary:#6b7280;--text-light:#9ca3af;--border:#e5e7eb;--shadow:0 1px 2px #0000000f;--shadow-lg:0 4px 12px #00000014;--radius:12px;--radius-sm:8px;--radius-msg:18px;--sidebar-w:340px;--header-h:64px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5}input,button,textarea{font-family:inherit}.auth-container{background:var(--bg-chat);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:380px;padding:48px 40px}.auth-logo{margin-bottom:32px}.logo-icon,.auth-logo-image{object-fit:contain;width:104px;height:104px;margin:0 auto 10px;display:block}.auth-logo h1{color:var(--primary);font-size:24px;font-weight:700}.auth-logo p{color:var(--text-secondary);margin-top:4px;font-size:14px}.auth-form{flex-direction:column;gap:12px;display:flex}.form-group input{border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:12px 16px;font-size:14px;transition:border-color .2s}.form-group input:focus{border-color:var(--primary)}.auth-switch{color:var(--text-secondary);margin-top:20px;font-size:13px}.auth-switch a{color:var(--primary);font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.error{color:var(--primary);font-size:13px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:12px 24px;font-size:14px;font-weight:600;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{cursor:default;background:#d1d5db}.icon-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.icon-btn:hover{background:var(--primary-light);color:var(--primary)}.icon-btn.send{color:var(--primary);font-size:18px}.app{height:100vh}.chat-layout{height:100vh;display:flex}.chat-layout.mobile{position:relative;overflow:hidden}.chat-layout.mobile .sidebar.hidden,.chat-layout.mobile .main.hidden{display:none!important}.sidebar{width:var(--sidebar-w);background:var(--bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-top{border-bottom:1px solid var(--border)}.sidebar-header{justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.sidebar-header h2{color:var(--primary);font-size:20px;font-weight:700}.new-chat-row{gap:8px;padding:0 16px 12px;display:flex}.new-chat-trigger{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;border-radius:999px;flex:1;padding:8px 10px;font-size:12px}.new-chat-trigger.secondary{background:#fff}.new-chat-row input{border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;flex:1;padding:10px 14px;font-size:13px}.new-chat-row input:focus{border-color:var(--primary)}.new-chat-channel{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.channel-search-box{flex-direction:column;gap:8px;padding:0 16px 12px;display:flex}.channel-search-row{gap:8px;display:flex}.channel-search-row input{border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;flex:1;min-width:0;padding:10px 14px;font-size:13px}.channel-search-row input:focus{border-color:var(--primary)}.channel-search-btn{min-width:92px;padding:0 14px}.channel-search-results{flex-direction:column;gap:8px;max-height:220px;display:flex;overflow:auto}.channel-search-item{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.channel-search-item:hover{background:#fafafa;border-color:#f1c9c9}.channel-search-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.channel-search-info{flex:1;min-width:0}.channel-search-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.channel-search-meta{align-items:center;gap:8px;min-width:0;margin-top:2px;display:flex}.channel-search-status{color:var(--text-secondary);font-size:11px}.channel-search-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.channel-search-action{color:var(--primary);flex-shrink:0;font-size:12px;font-weight:700}.conv-list{flex:1;overflow-y:auto}.favorites-pinned{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;box-shadow:0 4px 12px #0f172a0d}.favorites-pinned .conv-item{border-bottom:0}.chat-folders{border-bottom:1px solid var(--border);scrollbar-width:none;align-items:center;gap:6px;padding:10px 12px 8px;display:flex;overflow-x:auto}.chat-folders::-webkit-scrollbar{display:none}.chat-folder-tab,.chat-folder-add{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-secondary);cursor:pointer;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:700}.chat-folder-tab:hover,.chat-folder-add:hover{color:var(--primary);border-color:#f3a4a4}.chat-folder-tab.active{color:#fff;background:var(--primary);border-color:var(--primary)}.chat-folder-tab.custom{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.chat-folder-add{width:30px;padding:5px;font-size:18px;line-height:1}.folder-empty{text-align:center;color:var(--text-secondary);padding:28px 16px;font-size:13px}.folder-editor-overlay{z-index:1400;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.folder-editor{background:var(--bg);border-radius:18px;width:min(460px,100%);max-height:min(700px,100dvh - 40px);padding:20px;overflow:auto;box-shadow:0 24px 80px #0f172a47}.folder-editor-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.folder-editor-header h3{margin:0;font-size:18px}.folder-name-field{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.folder-name-field input{border:1px solid var(--border);background:var(--bg-secondary);width:100%;font:inherit;border-radius:10px;padding:10px 12px}.folder-editor-hint{color:var(--text-secondary);margin:14px 0 8px;font-size:12px;line-height:1.4}.folder-chat-options{border:1px solid var(--border);border-radius:12px;max-height:300px;overflow:auto}.folder-chat-option{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:auto 28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;font-size:13px;display:grid}.folder-chat-option:last-child{border-bottom:0}.folder-chat-option small{color:var(--text-muted);font-size:10px}.folder-option-avatar{color:#fff;background:var(--primary);text-transform:uppercase;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.folder-editor-actions{grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:16px;display:grid}.folder-delete{color:#fff;background:#dc2626;border-color:#dc2626}.conv-item{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex}.conv-item:hover{background:#f9fafb}.conv-item.active{background:var(--primary-light)}.llm-section-title{color:var(--primary);letter-spacing:.08em;padding:12px 16px 5px;font-size:12px;font-weight:800}.llm-connection{border-bottom:1px solid var(--border)}.llm-connection-title{justify-content:space-between;align-items:center;gap:8px;padding:7px 12px 5px 16px;font-weight:700;display:flex}.llm-connection-toggle{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-width:0;display:flex}.llm-connection-title small{color:var(--text-muted);font-size:11px;font-weight:500}.llm-actions{gap:2px;display:flex}.llm-session-row{align-items:stretch;display:flex}.llm-session{border-bottom:0;flex:1;min-width:0}.llm-session-menu{width:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:20px}.llm-session-menu:hover{color:var(--primary);background:var(--primary-light)}.conv-avatar{background:var(--primary);color:#fff;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.conv-avatar.has-image{background:#e5e7eb}.conv-avatar.has-image img{object-fit:cover;width:100%;height:100%;display:block}.conv-avatar.small{width:32px;height:32px;font-size:13px}.conv-info{flex:1;min-width:0}.conv-name-row{align-items:center;gap:8px;min-width:0;display:flex}.conv-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.conv-pill{color:#fff;letter-spacing:.04em;background:#111827;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;height:18px;padding:0 7px;font-size:10px;font-weight:700;display:inline-flex}.conv-pill.channel{color:#1d4ed8;background:#2563eb1f}.conv-pill.favorite{color:#b45309;background:#f59e0b24}.conv-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;display:block;overflow:hidden}.conv-preview.draft{color:var(--accent)}.conv-typing{color:var(--accent);margin-top:2px;font-size:12px;display:block}.sidebar-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.user-pill{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.sidebar-actions{align-items:center;gap:6px;display:flex}.main{background:var(--bg-chat);flex-direction:column;flex:1;min-width:0;display:flex}.chat-header{height:var(--header-h);background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:1;align-items:center;padding:0 20px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.mobile-back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-right:-2px;padding:6px;display:none}.mobile-back-btn:hover{background:var(--primary-light);color:var(--primary)}.header-left h3{font-size:15px;font-weight:600}.header-desc{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.header-sub{color:var(--text-light);font-size:12px}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.header-chip,.header-chip-btn{border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.header-chip{color:#fff;background:#111827}.header-chip-btn{color:var(--primary-dark);cursor:pointer;background:#dc262614;border:1px solid #dc262638;transition:background .12s,border-color .12s,color .12s}.header-chip-btn:hover{background:#dc262624;border-color:#dc262659}.header-chip-btn.icon-action{border-radius:50%;width:38px;min-height:38px;padding:0}.header-chip-btn.icon-action svg{fill:currentColor;width:19px;height:19px}.header-chip-btn.muted{color:var(--text-secondary);background:#f3f4f6;border-color:#e5e7eb}.messages{flex:1;padding:16px 0;overflow-y:auto}.messages-inner{flex-direction:column;gap:4px;max-width:800px;margin:0 auto;padding:0 20px;display:flex}.history-loader,.history-hint{color:var(--text-light);border:1px solid var(--border);background:#ffffffb3;border-radius:999px;align-self:center;margin-bottom:6px;padding:6px 10px;font-size:12px}.history-loader{color:var(--primary-dark)}.msg{margin-bottom:2px;display:flex}.msg.own{justify-content:flex-end}.msg-bubble{border-radius:var(--radius-msg);word-wrap:break-word;min-width:0;max-width:70%;padding:8px 14px 4px;position:relative}.delivery-check{color:var(--primary);letter-spacing:-2px;margin-left:4px;font-weight:800}.delivery-check.sent{opacity:.35}.delivery-check.delivered,.delivery-check.read{opacity:1}.msg:not(.own) .msg-bubble{background:var(--bg);box-shadow:var(--shadow);border-bottom-left-radius:4px}.msg.own .msg-bubble{background:var(--primary-light);border-bottom-right-radius:4px}.msg-topline{justify-content:space-between;align-items:center;gap:10px;min-height:20px;margin-bottom:6px;display:flex}.msg-actions{opacity:0;flex-shrink:0;justify-content:flex-end;gap:2px;transition:opacity .15s;display:flex}.msg-bubble:hover .msg-actions{opacity:1}.msg-action-btn{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .12s,background .12s;display:flex}.msg-action-btn:hover{color:var(--text-secondary);background:#0000000f}.msg-action-btn.danger:hover{color:var(--primary)}.msg-sender{color:var(--primary-dark);min-width:0;font-size:12px;font-weight:700;line-height:1.2}.msg.own .msg-sender{color:#a61b1b}.reply-chip{border-left:3px solid var(--primary);cursor:pointer;background:#ffffff8c;border-radius:10px;margin-bottom:8px;padding:6px 10px;transition:background .12s}.reply-chip:hover{background:#dc262614}.reply-chip.compact{margin-top:8px}.reply-chip-label{color:var(--primary-dark);margin-bottom:2px;font-size:11px;font-weight:700}.reply-chip-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.quote-chip{cursor:pointer;background:#ffffff9e;border-left:3px solid #6366f1;border-radius:10px;margin-bottom:8px;padding:6px 10px;transition:background .12s}.quote-chip:hover{background:#6366f114}.quote-chip-label{color:#4338ca;margin-bottom:2px;font-size:11px;font-weight:700}.quote-chip-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.thread-chip{color:var(--primary-dark);cursor:pointer;background:#dc26261a;border:none;border-radius:999px;margin-bottom:8px;padding:5px 9px;font-size:11px;font-weight:700}.thread-chip:hover{background:#dc262629}.thread-chip.bottom{margin-bottom:0}.msg-text{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.llm-reasoning{background:#94a3b81a;border:1px solid #64748b40;border-radius:10px;min-width:0;max-width:100%;margin:8px 0 2px;display:block;overflow:hidden}.llm-reasoning summary{cursor:pointer;color:var(--text-secondary);padding:7px 10px;font-size:12px;font-weight:700}.llm-reasoning pre{box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;color:var(--text-secondary);margin:0;padding:0 10px 10px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow-x:auto}.msg-edited{color:var(--text-light);margin-top:4px;font-size:11px}.msg-deleted{opacity:.55}.msg-deleted-text{color:var(--text-light);align-items:center;gap:6px;padding:4px 0;font-size:13px;font-style:italic;display:flex}.msg-image{margin-bottom:4px}.msg-image img{border-radius:var(--radius-sm);cursor:pointer;max-width:320px;max-height:320px;display:block}.msg-image img:hover{opacity:.92}.msg-time{color:var(--text-light);text-align:right;margin-top:2px;font-size:11px}.msg-bottom-actions{justify-content:flex-end;margin-top:6px;display:flex}.msg-text b{font-weight:700}.msg-text i{font-style:italic}.msg-text code{background:#e5e7eb;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:13px}.msg-text .code-inline{color:#1f2937;white-space:pre-wrap;background:#eef2ff;border:1px solid #dbeafe;border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;display:inline-block}.msg-text .code-block{color:#e5e7eb;background:#0f172a;border:1px solid #0f172a33;border-radius:12px;margin:6px 0;padding:10px 12px;position:relative;overflow:auto}.code-copy-button{color:#e5e7eb;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff38;border-radius:6px;padding:3px 7px;font-size:11px;position:absolute;top:7px;right:7px}.code-copy-button:hover{background:#fff3}.llm-list{margin:5px 0 5px 20px;padding:0}.llm-list li{padding-left:2px}.llm-list-indent-1{margin-left:14px}.llm-list-indent-2{margin-left:28px}.llm-list-indent-3{margin-left:42px}.llm-list-indent-4{margin-left:56px}.llm-heading{margin:8px 0 3px;font-weight:700}.llm-heading.h1{font-size:1.25em}.llm-heading.h2{font-size:1.12em}.msg-text .code-block code{color:inherit;white-space:pre-wrap;background:0 0;border-radius:0;padding:0;font-size:13px;line-height:1.45}.msg-text .code-keyword{color:#8b5cf6;font-weight:700}.msg-text .code-type{color:#f59e0b}.msg-text .code-string{color:#22c55e}.msg-text .code-number{color:#38bdf8}.msg-text .code-comment{color:#94a3b8;font-style:italic}.code-language{color:#94a3b8;text-transform:lowercase;margin-bottom:7px;font:11px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:block}.msg-quote{border-left:4px solid var(--primary);color:var(--text-secondary);white-space:pre-wrap;background:linear-gradient(90deg,#dc262614,#dc262605);border-radius:10px;margin:6px 0;padding:8px 12px}.msg-text a{color:var(--primary);text-decoration:underline}.msg-text s{text-decoration:line-through}.msg-text u{text-decoration:underline}.msg-highlight{animation:1.5s ease-out highlight-fade}@keyframes highlight-fade{0%{background:#dc262626}to{background:0 0}}.read-divider{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;margin:10px 0 8px;font-size:11px;font-weight:700;display:flex}.read-divider:before,.read-divider:after{content:"";background:#dc26262e;flex:1;height:1px}.msg-attachments{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.mention-link,.mention-all{color:#d92c2c;font:inherit;font-weight:700}.mention-link{cursor:pointer;background:0 0;border:0;padding:0}.mention-badge{color:#fff;background:#d92c2c;border-radius:10px;place-items:center;min-width:20px;height:20px;font-size:12px;font-weight:800;display:grid}.mention-suggestions{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:14px;min-width:220px;max-height:220px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:42px;overflow-y:auto;box-shadow:0 12px 28px #00000029}.mention-suggestions button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;gap:8px;padding:9px 10px;display:flex}.mention-suggestions button:hover{background:var(--surface-muted)}.mention-suggestions span{color:var(--text-secondary)}.msg-album,.thread-album{border-radius:14px;gap:4px;margin-bottom:6px;display:grid;overflow:hidden}.msg-album.count-1,.thread-album{grid-template-columns:minmax(0,1fr)}.msg-album.count-2,.msg-album.count-3,.msg-album.count-4,.msg-album.count-5{grid-template-columns:repeat(2,minmax(0,1fr))}.album-photo{cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;display:block;overflow:hidden}.msg-album.count-1 .album-photo,.thread-album .album-photo{aspect-ratio:4/5}.msg-album.count-2 .album-photo,.msg-album.count-3 .album-photo,.msg-album.count-4 .album-photo,.msg-album.count-5 .album-photo{aspect-ratio:1}.album-image{object-fit:cover;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;display:block}.thread-album .album-photo{min-height:160px}.edit-box{flex-direction:column;gap:8px;display:flex}.edit-input{border:1px solid var(--border);background:#fff;border-radius:10px;outline:none;width:100%;padding:8px 10px;font-size:13px}.edit-actions{justify-content:flex-end;gap:6px;display:flex}.edit-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:12px}.edit-btn.primary{border-color:var(--primary);color:var(--primary)}.att-file{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;padding:10px 14px;transition:background .12s;display:flex}.att-file:hover{background:#f3f4f6}.att-file-icon{flex-shrink:0;font-size:28px}.att-file-info{flex-direction:column;flex:1;min-width:0;display:flex}.att-download{color:var(--text-secondary);flex-shrink:0;font-size:14px}.att-image{cursor:pointer;border-radius:8px;max-width:320px;max-height:320px;transition:opacity .12s;display:block}.att-image:hover{opacity:.88}.msg-stickers{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.msg-sticker{object-fit:contain;width:min(176px,58vw);height:min(176px,58vw);display:block}.thread-stickers .msg-sticker{width:112px;height:112px}.att-video{object-fit:cover;background:#111827;border-radius:8px;width:100%;max-width:100%;height:100%;max-height:520px;display:block}.tg-video-card{width:min(320px,100%);max-height:520px;aspect-ratio:var(--media-aspect,16 / 9);background:#111827;border-radius:12px;overflow:hidden}.tg-media-caption{color:#e5e7eb;align-items:center;gap:6px;padding:7px 9px;font-size:11px;display:flex}.tg-media-caption span:last-child{color:#9ca3af;margin-left:auto}.video-note-row{align-items:center;gap:9px;display:flex}.video-note-shell{cursor:pointer;background:#111827;border:2px solid #fff;border-radius:50%;flex:none;width:208px;height:208px;padding:3px;position:relative;overflow:hidden;box-shadow:0 2px 10px #0000002e}.video-note-media{object-fit:cover;background:#111827;border-radius:50%;width:100%;height:100%;display:block}.video-note-progress{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.video-note-progress circle{fill:none;stroke-width:3px}.video-note-progress-track{stroke:#ffffff61}.video-note-progress-value{stroke:#fff;stroke-dasharray:100;transition:stroke-dashoffset .12s linear}.video-note-sound{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:16px;display:grid}.video-note-overlay{background:#000000e0}.video-note-preview{aspect-ratio:1;background:#111827;border:4px solid #fff;border-radius:50%;width:min(82vw,560px);position:relative;overflow:hidden}.video-note-preview video{object-fit:cover;width:100%;height:100%}.video-note-preview-sound{color:#111827;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:650;position:absolute;bottom:10%;right:9%}.thread-video-note{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.thread-video-note video{object-fit:cover;background:#111827;border:2px solid #fff;border-radius:50%;width:44px;height:44px}.tg-audio-card{background:linear-gradient(135deg,#fde8e8,#fff5f5);border:1px solid #fecaca;border-radius:14px;width:min(320px,100%);padding:10px 12px 8px}.tg-audio-top{color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.tg-audio-play{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.tg-audio-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:650;overflow:hidden}.tg-waveform{cursor:pointer;align-items:center;gap:2px;height:30px;margin:5px 0;display:flex;overflow:hidden}.tg-waveform i{background:#ef8d8d;border-radius:99px;width:3px;min-height:5px}.att-audio{width:100%;height:32px}.att-item{margin-bottom:4px}.att-preview-meta{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--text-secondary);font-size:10px;overflow:hidden}.att-upload-track{background:#fee2e2;border-radius:999px;width:100%;height:3px;overflow:hidden}.att-upload-track span{background:var(--primary);height:100%;transition:width .15s linear;display:block}.forwarded-card{border-left:3px solid var(--primary);cursor:pointer;background:linear-gradient(#dc26261a,#dc26260a);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:8px 10px;transition:background .12s,transform .12s;display:flex}.forwarded-card:hover{background:linear-gradient(#dc262624,#dc26260f)}.forwarded-icon{width:24px;height:24px;color:var(--primary-dark);background:#ffffffa6;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.forwarded-copy{min-width:0}.forwarded-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.forwarded-title{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.forwarded-badge{color:var(--primary-dark);background:#ffffffad;border:1px solid #dc262629;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.forwarded-source{color:var(--text);margin-top:1px;font-size:13px;font-weight:600;line-height:1.2}.forwarded-author{color:var(--primary-dark);margin-top:2px;font-size:12px;font-weight:600;line-height:1.2}.forwarded-meta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.forwarded-hint{color:var(--text-light);margin-top:4px;font-size:11px}.forward-picker{background:var(--bg);border-radius:var(--radius);min-width:280px;box-shadow:var(--shadow-lg);padding:20px}.forward-picker h3{margin-bottom:12px;font-size:16px}.forward-option{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px;transition:background .12s;display:flex}.forward-option:hover{background:var(--primary-light)}.forward-cancel{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:100%;margin-top:12px;padding:8px;font-size:13px}.att-name{font-size:13px;font-weight:500}.att-size{color:var(--text-light);font-size:11px}.empty-chat{text-align:center;color:var(--text-secondary);padding:60px 20px}.input-bar{background:var(--bg);border-top:1px solid var(--border);padding:12px 20px;position:relative}.upload-error{color:var(--primary-dark);background:var(--primary-light);border:1px solid #fecaca;border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:12px}.reply-banner{background:var(--primary-light);border:1px solid #fecaca;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:8px 10px;display:flex}.thread-banner,.quote-banner{background:#eef2ff;border-color:#c7d2fe}.channel-banner{background:linear-gradient(135deg,#2563eb1a,#6366f114);border:1px solid #2563eb2e;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:8px;padding:8px 10px;display:flex}.channel-banner-title{color:#1d4ed8;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.channel-banner-text{color:var(--text-secondary);font-size:12px}.channel-readonly-note{color:var(--text-secondary);padding:6px 2px 2px;font-size:13px}.reply-banner-copy{min-width:0}.reply-banner-label{color:var(--primary-dark);font-size:11px;font-weight:700}.reply-banner-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.reply-banner-close{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.fmt-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:6px;padding:4px 10px;font-size:14px;transition:all .15s}.fmt-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.fmt-close{padding:4px 8px;font-size:16px}.emoji-picker{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:10;margin-bottom:8px;padding:8px;position:absolute;bottom:100%;left:0}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;max-width:320px;max-height:260px;padding-right:2px;display:grid;overflow:auto}.emoji-item{cursor:pointer;text-align:center;border-radius:4px;padding:4px;font-size:20px;transition:background .1s}.emoji-item:hover{background:var(--primary-light)}.composer-palette{background:var(--bg);border:1px solid var(--border);width:min(380px,100vw - 28px);box-shadow:var(--shadow-lg);z-index:12;border-radius:18px;padding:10px;position:absolute;bottom:calc(100% + 8px);left:0}.composer-palette-tabs{align-items:center;gap:6px;margin-bottom:10px;display:flex}.composer-palette-tab{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.composer-palette-tab.active{background:var(--primary-light);color:var(--primary-dark);border-color:#dc262640}.composer-palette-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.sticker-picker{background:var(--bg);border:1px solid var(--border);width:min(360px,100vw - 40px);box-shadow:var(--shadow-lg);z-index:12;border-radius:18px;padding:10px;position:absolute;bottom:calc(100% + 8px);left:0}.sticker-picker-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sticker-picker-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:12px;font-weight:800}.sticker-picker-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.sticker-grid{grid-template-columns:repeat(5,1fr);gap:6px;max-height:360px;display:grid;overflow:auto}.sticker-item{background:var(--bg-secondary);cursor:pointer;aspect-ratio:1;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;padding:4px;transition:transform .12s,border-color .12s,background .12s;display:flex}.sticker-item:hover{border-color:var(--primary);background:#fff;transform:translateY(-1px)}.sticker-thumb{pointer-events:none;width:100%;height:100%;display:block}.unread-badge{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:flex}.thread-drawer{background:var(--bg);border-left:1px solid var(--border);flex-direction:column;width:360px;min-width:0;display:flex}.thread-drawer-header{height:var(--header-h);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.thread-drawer-header h3{font-size:15px;font-weight:700}.thread-drawer-header p{color:var(--text-light);font-size:12px}.thread-drawer-body{background:#f8fafc;flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.thread-item{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:10px 12px}.thread-item.root{background:linear-gradient(#fff,#fff7f7);border-color:#dc262638}.thread-item-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.thread-sender{color:var(--primary-dark);font-size:12px;font-weight:700}.thread-meta{color:var(--text-light);font-size:11px}.thread-attachments{flex-direction:column;gap:4px;margin:6px 0;display:flex}.thread-attachment-line{color:var(--text-secondary);font-size:12px}.thread-empty{color:var(--text-secondary);padding:18px 10px;font-size:13px}.thread-drawer-compose{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:8px;padding:12px;display:flex;position:relative}.channel-comment-input{resize:vertical;min-height:88px}.thread-compose-row{justify-content:flex-end;display:flex}.composer-row{align-items:center;gap:8px}.composer-attach-wrap{flex-shrink:0;position:relative}.composer-side,.composer-icon-btn{width:38px;height:38px;color:var(--primary);cursor:pointer;background:#dc262614;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.composer-side:hover,.composer-icon-btn:hover{color:var(--primary);background:#dc262624}.emoji-right{background:#dc262614}.poll-right{font-size:18px}.composer-attach-menu{width:min(260px,100vw - 24px);box-shadow:var(--shadow-lg);z-index:25;background:#fffffffa;border:1px solid #dc262624;border-radius:16px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);left:12px}.thread-attach-menu{bottom:calc(100% + 10px);left:0}.composer-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.composer-menu-item:hover{background:var(--primary-light)}.composer-menu-icon{width:28px;height:28px;color:var(--primary-dark);background:#dc26261f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.composer-menu-item strong{color:var(--text);font-size:13px;display:block}.composer-menu-item small{color:var(--text-light);font-size:11px;display:block}.poll-card{background:#ffffffe0;border:1px solid #dc26261f;border-radius:16px;flex-direction:column;gap:10px;margin:6px 0 10px;padding:12px;display:flex;box-shadow:inset 0 1px #fffc}.msg.own .poll-card{background:#ffffff9e}.poll-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.poll-question{color:var(--text);white-space:pre-wrap;font-size:15px;font-weight:700}.poll-description{color:var(--text-secondary);white-space:pre-wrap;margin-top:4px;font-size:13px}.poll-status{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-dark);background:#dc26261a;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:800}.poll-options{flex-direction:column;gap:8px;display:flex}.poll-option{text-align:left;cursor:pointer;background:#ffffffbf;border:1px solid #dc262624;border-radius:14px;flex-direction:column;gap:4px;padding:10px 12px;transition:border-color .12s,background .12s,transform .12s;display:flex;position:relative;overflow:hidden}.poll-option:hover{border-color:#dc262659;transform:translateY(-1px)}.poll-option.selected{background:#fee2e2f2;border-color:#dc26266b}.poll-option.inactive{cursor:default;transform:none}.poll-option-text{z-index:1;color:var(--text);font-size:13px;font-weight:600;position:relative}.poll-option-meta{z-index:1;color:var(--text-light);justify-content:space-between;gap:8px;font-size:11px;display:flex;position:relative}.poll-option-check{color:var(--primary-dark);font-weight:800}.poll-option-fill{pointer-events:none;background:linear-gradient(90deg,#dc26261f,#dc262638);position:absolute;inset:0 auto 0 0}.poll-footer{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.poll-submit-btn,.poll-close-btn{cursor:pointer;border:none;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.poll-submit-btn{background:var(--primary);color:#fff}.poll-submit-btn:disabled{cursor:default;background:#d1d5db}.poll-close-btn{color:var(--text);background:#11182714}.poll-composer{background:var(--bg);width:min(680px,100vw - 24px);max-height:min(84vh,760px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden}.poll-composer-header,.poll-composer-footer{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.poll-composer-header{border-bottom:1px solid var(--border)}.poll-composer .lightbox-close{width:32px;height:32px;color:var(--text-secondary);font-size:28px;position:static}.poll-composer .lightbox-close:hover{color:var(--text)}.poll-composer-body{flex-direction:column;gap:12px;padding:18px;display:flex;overflow:auto}.poll-field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.poll-field input,.poll-field textarea,.poll-field select{border:1.5px solid var(--border);background:var(--bg-secondary);border-radius:12px;outline:none;width:100%;padding:10px 12px;font-size:14px}.poll-field textarea{resize:vertical;min-height:70px}.poll-field input:focus,.poll-field textarea:focus,.poll-field select:focus{border-color:var(--primary);background:var(--bg)}.poll-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.poll-allow-change{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.poll-options-editor{flex-direction:column;gap:8px;display:flex}.poll-option-editor{align-items:center;gap:8px;display:flex}.poll-option-editor input{border:1.5px solid var(--border);border-radius:12px;outline:none;flex:1;padding:10px 12px;font-size:14px}.poll-option-remove,.poll-option-add{cursor:pointer;border:none;border-radius:12px;padding:10px 12px;font-weight:700}.poll-option-remove{width:42px;color:var(--primary-dark);background:#dc26261a}.poll-option-remove:disabled{opacity:.4;cursor:default}.poll-option-add{color:var(--text);background:#1118270f;align-self:flex-start}.poll-composer-footer{border-top:1px solid var(--border);justify-content:flex-end}.composer-context-menu{z-index:60;width:220px;box-shadow:var(--shadow-lg);background:#fffffffa;border:1px solid #dc26262e;border-radius:14px;position:fixed;overflow:hidden}.composer-context-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.composer-context-item:hover{background:var(--primary-light)}.composer-context-item span{color:var(--text-light);font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.spoiler-text{color:#0000;-webkit-user-select:none;user-select:none;background:#111827;border-radius:4px;padding:0 4px}.spoiler-text:hover,.spoiler-text:focus{color:#fff}.people-picker{background:var(--bg);width:min(640px,100vw - 24px);max-height:min(80vh,760px);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex;overflow:hidden}.people-picker-header{justify-content:space-between;align-items:center;display:flex}.people-search-row{gap:8px;display:flex}.people-search-row input,.picker-name input{border:1.5px solid var(--border);border-radius:12px;outline:none;width:100%;padding:10px 12px}.people-results{flex-direction:column;gap:8px;min-height:200px;display:flex;overflow:auto}.people-item{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.people-left{align-items:center;gap:10px;min-width:0;display:flex}.people-name{font-weight:600}.people-username{color:var(--text-light);font-size:12px}.people-action.selected{background:var(--primary-light);color:var(--primary-dark)}.people-empty{color:var(--text-secondary);padding:10px 2px;font-size:13px}.people-picker-footer{justify-content:flex-end;display:flex}.profile-editor{width:min(460px,100vw - 24px)}.avatar-crop-dialog{background:#fff;border-radius:18px;width:min(380px,100vw - 32px);padding:20px;box-shadow:0 24px 70px #00000047}.avatar-crop-dialog h3{margin:0 0 14px}.avatar-crop-preview{aspect-ratio:1;background:#e5e7eb;border:3px solid #fff;border-radius:50%;width:min(270px,72vw);margin:0 auto 16px;overflow:hidden;box-shadow:0 2px 12px #0003}.avatar-crop-preview img{object-fit:cover;width:100%;height:100%}.avatar-crop-dialog label{color:var(--text-secondary);gap:5px;margin:10px 0;font-size:12px;font-weight:650;display:grid}.avatar-crop-dialog input[type=range]{width:100%;accent-color:var(--primary)}.profile-preview{align-items:center;gap:14px;margin:8px 0 18px;display:flex}.profile-avatar{width:72px;height:72px;font-size:24px}.profile-preview-text{min-width:0}.profile-name{font-size:16px;font-weight:700}.profile-username{color:var(--text-secondary);font-size:12px}.profile-editor .form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.profile-editor textarea,.profile-editor input[type=text],.profile-editor input:not([type]){width:100%}.profile-editor select,.chat-language-select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:12px;padding:10px 14px}.sequence-preview{z-index:25;width:320px;box-shadow:var(--shadow-lg);pointer-events:auto;background:#fffffffa;border:1px solid #dc262633;border-radius:14px;padding:10px 12px;position:fixed}.sequence-preview-title{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:800}.sequence-preview-author{color:var(--text);font-size:13px;font-weight:700}.sequence-preview-meta{color:var(--text-light);margin-top:2px;font-size:11px}.sequence-preview-text{color:var(--text-secondary);white-space:pre-wrap;text-overflow:ellipsis;margin-top:6px;font-size:13px;overflow:hidden}.sequence-preview-loading{color:var(--text-secondary);font-size:13px}.att-preview-row{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.att-preview-item{display:inline-block;position:relative}.att-preview-item img{object-fit:cover;border:2px solid var(--primary);border-radius:6px;width:48px;height:48px}.att-preview-name{background:var(--bg-secondary);border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;display:flex}.input-row{align-items:flex-end;gap:8px;display:flex}.msg-input{border:1.5px solid var(--border);background:var(--bg-secondary);resize:none;border-radius:24px;outline:none;flex:1;min-height:42px;max-height:40vh;padding:10px 16px;font-size:14px;line-height:1.45;transition:border-color .2s;overflow-y:auto}.msg-input:focus{border-color:var(--primary);background:var(--bg)}.send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s;display:flex}.send-btn:hover{background:var(--primary-dark)}.send-btn:disabled{cursor:default;background:#d1d5db}.attach{flex-shrink:0}.upload-preview{margin-right:4px;display:inline-block;position:relative}.upload-preview img{object-fit:cover;border:2px solid var(--primary);border-radius:8px;width:40px;height:40px}.cancel-x{background:var(--primary);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}@media (width<=860px){:root{--sidebar-w:100%;--header-h:56px}.app,.chat-layout{height:var(--viewport-height,100dvh)}.sidebar{border-bottom:none;border-right:none;width:100%;height:100%;min-height:0}.chat-layout.mobile .sidebar,.chat-layout.mobile .main{width:100%;min-width:0;height:100%;min-height:0}.sidebar-header h2{font-size:18px}.new-chat-row{flex-wrap:wrap}.new-chat-channel{flex:100%;padding-left:2px}.main{height:100%;min-height:0}.chat-header{min-height:var(--header-h);z-index:2;height:auto;padding:0 12px;position:sticky;top:0}.header-left{gap:8px;min-width:0}.mobile-back-btn{display:inline-flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.header-chip,.header-chip-btn{min-height:28px;padding:0 10px;font-size:11px}.messages-inner{max-width:100%;padding:0 12px}.msg-bubble{max-width:92%}.msg-image img,.att-image,.att-video{max-width:100%}.input-bar{padding:10px 12px}.input-row{gap:6px}.msg-input{min-height:40px}.thread-drawer{border-left:none;border-top:1px solid var(--border);z-index:30;background:var(--bg);border-radius:18px 18px 0 0;width:100%;height:min(72dvh,640px);position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -12px 32px #00000029}.thread-drawer-header{touch-action:none;cursor:grab;flex-shrink:0;padding:0 12px}.thread-drawer-header:active{cursor:grabbing}.thread-drawer-body{background:#f8fafc;padding:12px}.thread-drawer-compose{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.thread-compose-row{padding-bottom:env(safe-area-inset-bottom)}.poll-composer{width:calc(100vw - 16px);max-height:88dvh}.poll-row{grid-template-columns:1fr}}.thread-sheet-enter-active,.thread-sheet-leave-active{transition:transform .22s,opacity .22s}.thread-sheet-enter-from,.thread-sheet-leave-to{opacity:0;transform:translateY(100%)}.thread-sheet-enter-to,.thread-sheet-leave-from{opacity:1;transform:translateY(0)}.empty-state{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-icon{opacity:.6;margin-bottom:16px;font-size:64px}.empty-state h2{color:var(--primary);margin-bottom:8px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.lightbox-overlay{z-index:1000;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:1001;background:0 0;border:none;font-size:36px;line-height:1;position:absolute;top:16px;right:20px}.lightbox-close:hover{color:#ddd}.lightbox-img{object-fit:contain;cursor:default;border-radius:4px;max-width:90vw;max-height:90vh}.lightbox-nav{color:#fff;cursor:pointer;z-index:1001;background:#ffffff24;border:none;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff38}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-counter{color:#fff;z-index:1001;background:#00000059;border-radius:999px;padding:6px 10px;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.app-dialog-overlay{z-index:1300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.app-dialog{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--surface);border-radius:20px;width:min(420px,100%);max-height:min(720px,100dvh - 40px);padding:22px;overflow:auto;box-shadow:0 24px 80px #0f172a42}.app-dialog-wide{width:min(600px,100%)}.desktop-server-list{gap:10px;margin:16px 0;display:grid}.desktop-server-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;grid-template-columns:auto minmax(110px,.7fr) minmax(180px,1.3fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.desktop-server-row label{color:var(--text-secondary);gap:5px;font-size:11px;font-weight:700;display:grid}.desktop-server-row input:not([type=radio]){border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);font:inherit;border-radius:8px;padding:8px;font-size:13px}.desktop-server-active{white-space:nowrap;align-items:center;gap:5px;padding-bottom:8px;display:flex!important}@media (width<=620px){.desktop-server-row{grid-template-columns:auto minmax(0,1fr) auto}.desktop-server-row>label:nth-child(3){grid-column:2/4}}.app-dialog-header{margin-bottom:14px}.app-dialog-header h3{color:var(--text);margin:0;font-size:19px}.app-dialog-copy{color:var(--text-secondary);white-space:pre-wrap;margin:0;line-height:1.5}.app-dialog-form{gap:12px;display:grid}.app-dialog-form label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.app-dialog-form input,.app-dialog-form textarea,.app-dialog-form select{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-muted);font:inherit;border-radius:10px;padding:10px 11px;font-size:14px;font-weight:400}.app-dialog-form textarea{resize:vertical;min-height:72px}.app-dialog-storage{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.app-dialog-storage p{color:var(--text-secondary);margin:-3px 0 2px;font-size:12px;line-height:1.45}.app-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.app-dialog-error{color:#dc2626;margin:14px 0 0;font-size:13px;line-height:1.4}.dialog-tabs{gap:8px;margin-bottom:16px;display:flex}.dialog-tabs button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:7px 12px}.dialog-tabs button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}@media (width<=600px){.app-dialog-overlay{align-items:end;padding:8px}.app-dialog{border-radius:20px 20px 14px 14px;width:100%;max-height:calc(100dvh - 16px)}}
