.login-wrap[data-v-d077f68d]{height:100%;display:flex;align-items:center;justify-content:center}.login-card[data-v-d077f68d]{width:360px;background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;padding:36px 32px 28px}.logo[data-v-d077f68d]{text-align:center;margin-bottom:28px}.logo-mark[data-v-d077f68d]{width:56px;height:56px;margin:0 auto 12px;border-radius:14px;object-fit:cover;display:block}.title[data-v-d077f68d]{font-size:20px;font-weight:600}.subtitle[data-v-d077f68d]{margin-top:4px;font-size:12px;color:var(--text-dim)}label[data-v-d077f68d]{display:block;margin:14px 0 6px;font-size:12px;color:var(--text-dim)}input[data-v-d077f68d]{width:100%;padding:10px 12px;font-size:14px}.server-input[data-v-d077f68d]{margin-top:8px;font-size:12px}.advanced-toggle[data-v-d077f68d]{margin-top:16px;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-toggle[data-v-d077f68d]:hover{color:var(--text)}.error[data-v-d077f68d]{margin-top:12px;color:var(--danger);font-size:13px}.notice[data-v-d077f68d]{margin-top:12px;color:var(--accent);font-size:13px}.done[data-v-d077f68d]{margin-top:16px;font-size:14px;color:var(--text);text-align:center}.btn[data-v-d077f68d]{margin-top:20px;width:100%;padding:11px;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:500}.btn[data-v-d077f68d]:hover{background:#3f7af0}.btn[data-v-d077f68d]:disabled{opacity:.6;cursor:not-allowed}.link-row[data-v-d077f68d]{margin-top:14px;text-align:center;font-size:13px}.link[data-v-d077f68d]{color:var(--accent);cursor:pointer}.link[data-v-d077f68d]:hover{text-decoration:underline}.dot[data-v-d077f68d]{margin:0 8px;color:var(--text-dim)}.code-row[data-v-d077f68d]{display:flex;gap:8px}.code-row input[data-v-d077f68d]{flex:1;min-width:0}.send-btn[data-v-d077f68d]{flex-shrink:0;padding:0 12px;font-size:12px;border-radius:8px;border:1px solid var(--accent);color:var(--accent);background:transparent}.send-btn[data-v-d077f68d]:hover:not(:disabled){background:var(--accent);color:#fff}.send-btn[data-v-d077f68d]:disabled{opacity:.55;cursor:not-allowed}.divider[data-v-d077f68d]{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:var(--text-dim);font-size:12px}.divider[data-v-d077f68d]:before,.divider[data-v-d077f68d]:after{content:"";flex:1;height:1px;background:var(--border)}.oauth-row[data-v-d077f68d]{display:flex;gap:10px}.oauth-btn[data-v-d077f68d]{flex:1;padding:9px 0;border-radius:8px;font-size:13px;color:#fff;opacity:.88}.oauth-btn[data-v-d077f68d]:hover{opacity:1}.oauth-btn.gitee[data-v-d077f68d]{background:#c71d23}.oauth-btn.github[data-v-d077f68d]{background:#24292f}.oauth-btn.gitcode[data-v-d077f68d]{background:#3b82f6}.chat-layout[data-v-67acd0ae]{display:flex;height:100%}.sidebar[data-v-67acd0ae]{width:280px;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column}.side-header[data-v-67acd0ae]{display:flex;align-items:center;gap:8px;padding:14px 14px 12px;border-bottom:1px solid var(--border)}.app-name[data-v-67acd0ae]{font-weight:600;font-size:15px}.conn[data-v-67acd0ae]{font-size:11px;color:var(--text-dim)}.conn.on[data-v-67acd0ae]{color:#58d68d}.icon-btn[data-v-67acd0ae]{margin-left:auto;color:var(--text-dim);font-size:13px;padding:4px 8px;border-radius:6px}.icon-btn[data-v-67acd0ae]:hover{background:var(--bg-hover);color:var(--text)}.tabs[data-v-67acd0ae]{display:flex;border-bottom:1px solid var(--border)}.tab[data-v-67acd0ae]{flex:1;padding:10px 0;font-size:13px;color:var(--text-dim);border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px}.tab.on[data-v-67acd0ae]{color:var(--text);border-bottom-color:var(--accent)}.tab-badge[data-v-67acd0ae]{background:var(--danger);color:#fff;font-size:10px;border-radius:9px;padding:0 5px;line-height:16px}.session-list[data-v-67acd0ae]{flex:1;overflow-y:auto}.contact-section[data-v-67acd0ae]{padding:10px 14px 4px;font-size:11px;color:var(--text-dim)}.session-item[data-v-67acd0ae]{display:flex;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.03)}.session-item[data-v-67acd0ae]:hover{background:var(--bg-hover)}.session-item.active[data-v-67acd0ae]{background:var(--bg-active)}.session-main[data-v-67acd0ae]{flex:1;min-width:0}.row1[data-v-67acd0ae],.row2[data-v-67acd0ae]{display:flex;align-items:center;justify-content:space-between;gap:8px}.s-name[data-v-67acd0ae]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-time[data-v-67acd0ae]{font-size:11px;color:var(--text-dim);flex-shrink:0}.row2[data-v-67acd0ae]{margin-top:4px}.s-text[data-v-67acd0ae]{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge[data-v-67acd0ae]{background:var(--danger);color:#fff;font-size:11px;border-radius:10px;padding:1px 6px;flex-shrink:0}.empty-hint[data-v-67acd0ae]{text-align:center;color:var(--text-dim);padding:40px 0;font-size:13px}.avatar-wrap[data-v-67acd0ae]{position:relative;flex-shrink:0}.online-dot[data-v-67acd0ae]{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#565b64;border:2px solid var(--bg-panel)}.online-dot.on[data-v-67acd0ae]{background:#58d68d}.online-dot.sm[data-v-67acd0ae]{position:static;width:7px;height:7px;border-width:1px;display:inline-block}.chat-panel[data-v-67acd0ae]{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header[data-v-67acd0ae]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.ch-name[data-v-67acd0ae]{font-size:15px;font-weight:600;flex:1}.member-count[data-v-67acd0ae]{font-size:12px;color:var(--text-dim);font-weight:400;margin-left:6px}.member-bar[data-v-67acd0ae]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 20px;border-bottom:1px solid var(--border);background:var(--bg-panel);max-height:120px;overflow-y:auto}.member-chip[data-v-67acd0ae]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);background:var(--bg);border-radius:12px;padding:2px 8px 2px 2px;cursor:pointer}.member-chip[data-v-67acd0ae]:hover{background:var(--bg-active);color:var(--text)}.m-avatar[data-v-67acd0ae]{width:18px;height:18px;border-radius:50%;object-fit:cover}.msg-area[data-v-67acd0ae]{flex:1;overflow-y:auto;padding:16px 20px}.load-more[data-v-67acd0ae]{text-align:center;margin-bottom:12px}.load-more button[data-v-67acd0ae]{font-size:12px;color:var(--accent);padding:4px 12px;border-radius:6px}.load-more button[data-v-67acd0ae]:hover{background:var(--accent-soft)}.load-more button[data-v-67acd0ae]:disabled{color:var(--text-dim);cursor:default}.msg-row[data-v-67acd0ae]{display:flex;gap:10px;margin-bottom:16px}.msg-row.mine[data-v-67acd0ae]{flex-direction:row-reverse}.msg-content[data-v-67acd0ae]{max-width:62%}.msg-row.mine .msg-content[data-v-67acd0ae]{display:flex;flex-direction:column;align-items:flex-end}.msg-meta[data-v-67acd0ae]{font-size:11px;color:var(--text-dim);margin-bottom:4px;display:flex;gap:8px;align-items:center}.recall-btn[data-v-67acd0ae]{font-size:11px;color:var(--text-dim);visibility:hidden;padding:0 4px}.recall-btn[data-v-67acd0ae]:hover{color:var(--danger)}.msg-row:hover .recall-btn[data-v-67acd0ae]{visibility:visible}.msg-img[data-v-67acd0ae]{max-width:100%;max-height:240px;border-radius:10px;cursor:zoom-in;display:block}.msg-emoji[data-v-67acd0ae]{width:120px;border-radius:8px;cursor:zoom-in;display:block}.msg-file[data-v-67acd0ae]{display:flex;align-items:center;gap:10px;background:var(--bubble-in);border-radius:10px;padding:10px 14px;max-width:320px;text-decoration:none;color:inherit}.msg-row.mine .msg-file[data-v-67acd0ae]{background:var(--bubble-out)}.mf-icon[data-v-67acd0ae]{font-size:26px}.mf-main[data-v-67acd0ae]{display:flex;flex-direction:column;min-width:0;flex:1}.mf-name[data-v-67acd0ae]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.mf-size[data-v-67acd0ae]{font-size:11px;color:var(--text-dim)}.mf-dl[data-v-67acd0ae]{font-size:12px;color:var(--primary, #4a7dff);flex-shrink:0}.toolbar[data-v-67acd0ae]{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.tool-btn[data-v-67acd0ae]{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1}.tool-btn[data-v-67acd0ae]:hover{background:var(--hover, rgba(0, 0, 0, .06))}.emoji-pop[data-v-67acd0ae]{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;padding:8px;border:1px solid var(--border);border-radius:10px;margin-top:6px;max-width:420px}.emoji-item[data-v-67acd0ae]{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:6px;line-height:1}.emoji-item[data-v-67acd0ae]:hover{background:var(--hover, rgba(0, 0, 0, .06))}.bubble[data-v-67acd0ae]{background:var(--bubble-in);border-radius:10px;padding:9px 12px;line-height:1.55;word-break:break-word;white-space:pre-wrap}.msg-row.mine .bubble[data-v-67acd0ae]{background:var(--bubble-out)}.bubble.recalled[data-v-67acd0ae]{color:var(--text-dim);font-style:italic;background:transparent;border:1px dashed var(--border);padding:6px 12px}.input-area[data-v-67acd0ae]{border-top:1px solid var(--border);padding:12px 20px;background:var(--bg-panel)}.input-error[data-v-67acd0ae]{color:var(--danger);font-size:12px;margin-bottom:8px}textarea[data-v-67acd0ae]{width:100%;resize:none;padding:10px 12px;font-size:14px;line-height:1.5}.input-actions[data-v-67acd0ae]{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.hint[data-v-67acd0ae]{font-size:11px;color:var(--text-dim)}.send-btn[data-v-67acd0ae]{background:var(--accent);color:#fff;padding:7px 22px;border-radius:8px;font-size:13px}.send-btn[data-v-67acd0ae]:hover{background:#3f7af0}.send-btn[data-v-67acd0ae]:disabled{opacity:.5;cursor:not-allowed}.no-room[data-v-67acd0ae]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.no-room .err[data-v-67acd0ae]{color:var(--danger)}.side-header[data-v-67acd0ae]{position:relative;flex-wrap:wrap}.me[data-v-67acd0ae]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px 6px 2px 2px;border-radius:8px;min-width:0}.me[data-v-67acd0ae]:hover{background:var(--bg-hover)}.me-avatar[data-v-67acd0ae]{width:32px;height:32px;border-radius:50%}.me-info[data-v-67acd0ae]{min-width:0}.me-name[data-v-67acd0ae]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-state[data-v-67acd0ae]{font-size:11px;color:var(--text-dim)}.side-header .conn[data-v-67acd0ae]{flex-shrink:0}.side-header .icon-btn[data-v-67acd0ae]{margin-left:0}.side-header .icon-btn[data-v-67acd0ae]:last-child{margin-left:auto}.state-pop[data-v-67acd0ae]{position:absolute;top:calc(100% - 4px);left:10px;width:150px;max-height:260px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000073;z-index:50;padding:4px}.state-item[data-v-67acd0ae]{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;border-radius:7px;cursor:pointer}.state-item[data-v-67acd0ae]:hover{background:var(--bg-hover)}.state-item.on[data-v-67acd0ae]{color:var(--accent)}.state-dot[data-v-67acd0ae]{width:7px;height:7px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.state-item.on .state-dot[data-v-67acd0ae]{background:var(--accent)}.avatar.big[data-v-67acd0ae]{width:72px;height:72px;border-radius:50%;font-size:28px}.modal-mask[data-v-67acd0ae]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:60;display:flex;align-items:center;justify-content:center}.modal[data-v-67acd0ae]{width:min(92vw,360px);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:18px}.modal-title[data-v-67acd0ae]{font-size:15px;font-weight:600;margin-bottom:14px}.profile-body[data-v-67acd0ae]{display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-edit[data-v-67acd0ae]{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}.avatar-hint[data-v-67acd0ae]{font-size:11px;color:var(--text-dim)}.field[data-v-67acd0ae]{width:100%;display:flex;flex-direction:column;gap:5px}.field-label[data-v-67acd0ae]{font-size:12px;color:var(--text-dim)}.field input[data-v-67acd0ae]{width:100%;padding:8px 10px;font-size:14px}.field-hint[data-v-67acd0ae]{font-size:11px;color:var(--text-dim)}.profile-err[data-v-67acd0ae]{color:var(--danger);font-size:12px}.modal-actions[data-v-67acd0ae]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.btn-plain[data-v-67acd0ae]{padding:7px 16px;border-radius:8px;font-size:13px;color:var(--text-dim)}.btn-plain[data-v-67acd0ae]:hover{background:var(--bg-hover);color:var(--text)}.btn-primary[data-v-67acd0ae]{padding:7px 20px;border-radius:8px;font-size:13px;background:var(--accent);color:#fff}.btn-primary[data-v-67acd0ae]:disabled{opacity:.5;cursor:not-allowed}.avatar.clickable[data-v-67acd0ae]{cursor:pointer}.notice-ico[data-v-67acd0ae]{display:flex;align-items:center;justify-content:center;font-size:18px}.social-tabs[data-v-67acd0ae]{display:flex;gap:6px;margin-bottom:12px}.social-tabs button[data-v-67acd0ae]{flex:1;padding:7px 0;font-size:13px;border-radius:8px;color:var(--text-dim);background:var(--bg)}.social-tabs button.on[data-v-67acd0ae]{background:var(--accent);color:#fff}.search-row[data-v-67acd0ae]{display:flex;gap:8px;margin-bottom:10px}.search-row input[data-v-67acd0ae]{flex:1;padding:8px 10px;font-size:14px}.social-results[data-v-67acd0ae]{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.social-results.tall[data-v-67acd0ae]{max-height:340px}.social-item[data-v-67acd0ae]{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px}.social-item.clickable[data-v-67acd0ae]{cursor:pointer}.social-item.clickable[data-v-67acd0ae]:hover{background:var(--bg-hover)}.avatar.sm[data-v-67acd0ae]{width:36px;height:36px;border-radius:50%;font-size:14px;flex-shrink:0}.si-main[data-v-67acd0ae]{flex:1;min-width:0}.si-name[data-v-67acd0ae]{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.si-sub[data-v-67acd0ae]{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-primary.sm[data-v-67acd0ae]{padding:5px 12px;flex-shrink:0}.social-item .btn-plain[data-v-67acd0ae]{flex-shrink:0;font-size:12px}.social-item .btn-plain[data-v-67acd0ae]:disabled{opacity:.6;cursor:default}.social-tip[data-v-67acd0ae]{font-size:12px;color:var(--accent);padding:6px 2px}.cg-check[data-v-67acd0ae]{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:transparent;flex-shrink:0}.cg-check.on[data-v-67acd0ae]{background:var(--accent);border-color:var(--accent);color:#fff}.notice-status[data-v-67acd0ae]{font-size:12px;color:var(--text-dim);flex-shrink:0}.modal.card[data-v-67acd0ae]{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.card-name[data-v-67acd0ae]{font-size:16px;font-weight:600}.card-account[data-v-67acd0ae]{font-size:12px;color:var(--text-dim);cursor:pointer}.copy-hint[data-v-67acd0ae]{font-size:10px;opacity:.7;margin-left:4px}.modal-actions.center[data-v-67acd0ae]{justify-content:center;width:100%}.menu-btn[data-v-67acd0ae],.backdrop[data-v-67acd0ae]{display:none}@media(max-width:768px){.chat-layout[data-v-67acd0ae]{height:100dvh}.sidebar[data-v-67acd0ae]{position:fixed;top:0;left:0;bottom:0;width:min(78vw,320px);z-index:40;transform:translate(-100%);transition:transform .22s ease;box-shadow:4px 0 16px #0006}.sidebar.open[data-v-67acd0ae]{transform:translate(0)}.backdrop[data-v-67acd0ae]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:35}.menu-btn[data-v-67acd0ae]{display:inline-flex;margin-left:0;font-size:16px}.chat-header[data-v-67acd0ae]{padding:10px 12px}.msg-area[data-v-67acd0ae]{padding:12px}.msg-content[data-v-67acd0ae]{max-width:80%}textarea[data-v-67acd0ae]{font-size:16px}.input-area[data-v-67acd0ae]{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #17181c;--bg-panel: #1f2126;--bg-hover: #2a2d34;--bg-active: #31353e;--border: #2e3138;--text: #e6e8ec;--text-dim: #9aa0ab;--accent: #4f8cff;--accent-soft: rgba(79, 140, 255, .16);--danger: #ff5d5d;--bubble-in: #262930;--bubble-out: #2b4a8f}html,body,#app{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,-apple-system,Segoe UI,sans-serif;font-size:14px}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;outline:none}input:focus,textarea:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#3a3e47;border-radius:3px}.avatar{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--bg-active);flex-shrink:0}.avatar-fallback{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}
