.login-overlay[data-v-bc0e1165]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.login-card[data-v-bc0e1165]{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px 28px;width:340px;display:flex;flex-direction:column;gap:20px}.login-brand[data-v-bc0e1165]{font-size:20px;font-weight:700;color:var(--text-bright);text-align:center}.tabs[data-v-bc0e1165]{display:flex;border-bottom:1px solid var(--border);gap:0}.tabs button[data-v-bc0e1165]{flex:1;padding:8px;font-size:14px;color:var(--text-dim);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tabs button.active[data-v-bc0e1165]{color:var(--accent);border-bottom-color:var(--accent)}form[data-v-bc0e1165]{display:flex;flex-direction:column;gap:14px}.field-group[data-v-bc0e1165]{display:flex;flex-direction:column;gap:5px}.field-group label[data-v-bc0e1165]{font-size:12px;color:var(--text-dim);font-weight:600}.field-group input[data-v-bc0e1165]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;color:var(--text)}.field-group input[data-v-bc0e1165]:focus{border-color:var(--accent)}.error[data-v-bc0e1165]{color:var(--danger);font-size:13px;margin:0}.submit-btn[data-v-bc0e1165]{background:var(--accent);color:#fff;padding:10px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:opacity .15s;margin-top:4px}.submit-btn[data-v-bc0e1165]:hover:not(:disabled){opacity:.85}.submit-btn[data-v-bc0e1165]:disabled{opacity:.5;cursor:not-allowed}.overlay[data-v-9694fad1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-9694fad1]{background:var(--surface);border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 8px 32px #00000040}.title[data-v-9694fad1]{font-size:15px;font-weight:600;color:var(--text-bright)}.crop-wrap[data-v-9694fad1]{position:relative;width:280px;height:280px;overflow:hidden;border-radius:8px;cursor:grab;-webkit-user-select:none;user-select:none;background:#111;outline:2px solid var(--accent)}.crop-wrap[data-v-9694fad1]:active{cursor:grabbing}.crop-img[data-v-9694fad1]{position:absolute;left:50%;top:50%}.corner[data-v-9694fad1]{position:absolute;width:14px;height:14px;border-color:#fff;border-style:solid;pointer-events:none}.corner.tl[data-v-9694fad1]{top:6px;left:6px;border-width:2px 0 0 2px}.corner.tr[data-v-9694fad1]{top:6px;right:6px;border-width:2px 2px 0 0}.corner.bl[data-v-9694fad1]{bottom:6px;left:6px;border-width:0 0 2px 2px}.corner.br[data-v-9694fad1]{bottom:6px;right:6px;border-width:0 2px 2px 0}.scale-row[data-v-9694fad1]{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-dim);width:280px}.scale-slider[data-v-9694fad1]{flex:1;accent-color:var(--accent)}.actions[data-v-9694fad1]{display:flex;gap:10px;width:280px}.btn-cancel[data-v-9694fad1],.btn-confirm[data-v-9694fad1]{flex:1;padding:9px 0;border-radius:6px;font-size:14px;font-weight:500;transition:opacity .15s}.btn-cancel[data-v-9694fad1]{background:var(--surface2);color:var(--text)}.btn-confirm[data-v-9694fad1]{background:var(--accent);color:#fff}.btn-cancel[data-v-9694fad1]:hover,.btn-confirm[data-v-9694fad1]:hover{opacity:.85}.av-overlay[data-v-674f6967]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.av-preview[data-v-674f6967]{background:var(--surface);border-radius:12px;padding:28px 32px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 8px 32px #0003;min-width:220px}.av-pic[data-v-674f6967]{width:240px;height:240px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.av-img[data-v-674f6967]{width:100%;height:100%;object-fit:cover}.av-letter[data-v-674f6967]{font-size:80px;font-weight:700;color:#fff}.av-name[data-v-674f6967]{font-size:15px;font-weight:600;color:var(--text-bright)}.av-edit-btn[data-v-674f6967]{width:100%;padding:8px 0;background:var(--accent);color:#fff;border-radius:6px;font-size:14px;font-weight:500;transition:opacity .15s}.av-edit-btn[data-v-674f6967]:hover{opacity:.85}.av-close-btn[data-v-674f6967]{width:100%;padding:8px 0;background:var(--surface2);color:var(--text);border-radius:6px;font-size:14px;transition:opacity .15s}.av-close-btn[data-v-674f6967]:hover{opacity:.8}.sidebar[data-v-674f6967]{width:280px;min-width:280px;background:var(--sidebar-bg);display:flex;flex-direction:column;border-right:1px solid var(--border)}.top-bar[data-v-674f6967]{display:flex;align-items:center;gap:10px;padding:12px 14px 10px;flex-shrink:0}.my-avatar[data-v-674f6967]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;flex-shrink:0}.avatar-img[data-v-674f6967]{width:100%;height:100%;object-fit:cover;border-radius:8px}.top-title[data-v-674f6967]{flex:1;font-weight:700;font-size:16px;color:var(--text-bright)}.top-icons[data-v-674f6967]{display:flex;gap:4px}.icon-btn[data-v-674f6967]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-dim);transition:background .15s,color .15s}.icon-btn[data-v-674f6967]:hover{background:var(--surface);color:var(--text)}.icon-btn.ok[data-v-674f6967]{color:var(--online)}.icon-btn.err[data-v-674f6967]{color:var(--danger)}.search-wrap[data-v-674f6967]{display:flex;align-items:center;gap:6px;margin:0 10px 8px;background:var(--surface);border-radius:8px;padding:6px 10px;flex-shrink:0}.search-icon[data-v-674f6967]{color:var(--text-dim);flex-shrink:0}.search-input[data-v-674f6967]{flex:1;font-size:13px;color:var(--text);background:none}.search-input[data-v-674f6967]::placeholder{color:var(--text-dim)}.search-clear[data-v-674f6967]{background:none;color:var(--text-dim);font-size:12px;line-height:1;padding:1px 2px;border-radius:4px}.search-clear[data-v-674f6967]:hover{color:var(--text)}.chat-list[data-v-674f6967]{flex:1;overflow-y:auto}.list-empty[data-v-674f6967]{text-align:center;font-size:13px;color:var(--text-dim);padding:32px 16px}.chat-item[data-v-674f6967]{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .12s}.chat-item[data-v-674f6967]:hover{background:var(--surface)}.chat-item.active[data-v-674f6967]{background:var(--surface2)}.item-avatar-wrap[data-v-674f6967]{position:relative;flex-shrink:0}.item-avatar[data-v-674f6967]{width:46px;height:46px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff}.online-dot[data-v-674f6967]{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--online);border:2px solid var(--sidebar-bg)}.unread-badge[data-v-674f6967]{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;border-radius:8px;padding:0 4px;text-align:center;border:1.5px solid var(--sidebar-bg)}.item-body[data-v-674f6967]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.item-row1[data-v-674f6967]{display:flex;align-items:baseline;gap:6px}.item-name[data-v-674f6967]{flex:1;font-size:14px;font-weight:500;color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-time[data-v-674f6967]{flex-shrink:0;font-size:11px;color:var(--text-dim)}.item-preview[data-v-674f6967]{display:block;font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer[data-v-674f6967]{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0}.btn[data-v-674f6967]{flex:1;padding:7px 0;border-radius:6px;font-size:12px;font-weight:600;transition:opacity .15s}.btn[data-v-674f6967]:hover{opacity:.85}.btn-sm[data-v-674f6967]{background:var(--surface2);color:var(--text)}.btn-accent[data-v-674f6967]{background:var(--accent);color:#fff}.btn-danger[data-v-674f6967]{background:var(--danger);color:#fff}.system-msg[data-v-c578374d]{text-align:center;font-size:12px;color:var(--text-dim);padding:4px 0}.message[data-v-c578374d]{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;position:relative}.message.mine[data-v-c578374d]{flex-direction:row-reverse}.avatar[data-v-c578374d]{width:38px;height:38px;min-width:38px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;flex-shrink:0;overflow:hidden}.avatar-img[data-v-c578374d]{width:100%;height:100%;object-fit:cover}.body[data-v-c578374d]{display:flex;flex-direction:column;min-width:0;max-width:min(62%,500px)}.message.mine .body[data-v-c578374d]{align-items:flex-end}.sender-name[data-v-c578374d]{font-size:12px;color:var(--text-dim);margin-bottom:3px;padding-left:2px}.bubble[data-v-c578374d]{position:relative;display:inline-block;max-width:100%;word-break:break-word;white-space:pre-wrap;font-size:16px;line-height:1.5;padding:8px 12px;border-radius:4px 12px 12px;background:var(--bubble-other);color:var(--text)}.bubble[data-v-c578374d]:before{content:"";position:absolute;left:-7px;top:10px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:7px solid var(--bubble-other)}.message.mine .bubble[data-v-c578374d]{background:var(--bubble-mine);color:var(--bubble-mine-text);border-radius:12px 4px 12px 12px}.message.mine .bubble[data-v-c578374d]:before{left:auto;right:-7px;border-right:none;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid var(--bubble-mine)}.img-wrap[data-v-c578374d]{display:inline-flex;flex-direction:column;gap:4px;margin-top:2px;max-width:280px}.img-placeholder[data-v-c578374d]{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text-dim);font-size:13px}.chat-img[data-v-c578374d]{max-width:280px;max-height:280px;border-radius:var(--radius);cursor:zoom-in;display:block;object-fit:contain;background:var(--surface2);border:1px solid var(--border);transition:opacity .15s}.chat-img[data-v-c578374d]:hover{opacity:.9}.img-caption[data-v-c578374d]{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.img-dl[data-v-c578374d]{color:var(--accent);text-decoration:none;font-weight:600}.img-dl[data-v-c578374d]:hover{text-decoration:underline}.attachment[data-v-c578374d]{display:inline-flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-top:2px;max-width:320px;transition:border-color .15s}.attachment[data-v-c578374d]:hover{border-color:var(--accent)}.attachment.uploading[data-v-c578374d]{opacity:.75}.file-icon[data-v-c578374d]{color:var(--text-dim);flex-shrink:0}.file-info[data-v-c578374d]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name[data-v-c578374d]{font-weight:600;font-size:13px;color:var(--text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta[data-v-c578374d]{font-size:11px;color:var(--text-dim)}.ok[data-v-c578374d]{color:var(--online)}.download-btn[data-v-c578374d]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;text-decoration:none;flex-shrink:0;transition:opacity .15s}.download-btn[data-v-c578374d]:hover{opacity:.85}.upload-spinner[data-v-c578374d]{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-c578374d .8s linear infinite;flex-shrink:0}@keyframes spin-c578374d{to{transform:rotate(360deg)}}.reactions[data-v-c578374d]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-pill[data-v-c578374d]{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:2px 8px;font-size:13px;cursor:pointer;color:var(--text);transition:background .1s,border-color .1s}.reaction-pill[data-v-c578374d]:hover{background:var(--surface);border-color:var(--accent)}.reaction-pill.active[data-v-c578374d]{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent)}.action-bar[data-v-c578374d]{position:absolute;right:16px;top:-14px;display:flex;gap:2px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:3px 6px;box-shadow:0 2px 8px #00000026;z-index:10}.action-bar.bar-mine[data-v-c578374d]{right:auto;left:16px}.quick-emoji[data-v-c578374d]{background:none;font-size:18px;padding:2px 3px;border-radius:var(--radius-sm);transition:background .1s,transform .1s;line-height:1}.quick-emoji[data-v-c578374d]:hover{background:var(--surface);transform:scale(1.25)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;animation:lb-in-c578374d .15s ease}@keyframes lb-in-c578374d{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 12px 48px #0009;cursor:default}.lb-close{position:fixed;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffff26;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-close:hover{background:#ffffff47}.input-area[data-v-e3006ebf]{display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;position:relative}.compose[data-v-e3006ebf]{flex:1;cursor:text;padding:10px 16px 4px;min-height:280px;display:flex;flex-direction:column;gap:8px}.msg-input[data-v-e3006ebf]{flex:1;min-height:240px;color:var(--text);line-height:1.6;font-size:14px;white-space:pre-wrap;word-break:break-word;outline:none;caret-color:var(--accent)}.msg-input.disabled[data-v-e3006ebf]{opacity:.5;cursor:not-allowed}.msg-input[data-v-e3006ebf]:empty:before{content:attr(data-ph);color:var(--text-dim);pointer-events:none}.paste-chip[data-v-e3006ebf]{display:inline-flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 10px 6px 6px;max-width:300px;flex-shrink:0}.paste-thumb[data-v-e3006ebf]{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.paste-name[data-v-e3006ebf]{flex:1;min-width:0;font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paste-rm[data-v-e3006ebf]{background:none;color:var(--text-dim);font-size:12px;line-height:1;padding:2px 4px;border-radius:4px;flex-shrink:0}.paste-rm[data-v-e3006ebf]:hover{background:var(--border);color:var(--text)}.emoji-panel[data-v-e3006ebf]{position:absolute;bottom:52px;left:0;display:flex;flex-wrap:wrap;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;box-shadow:0 -2px 12px #0000001a;z-index:20;max-width:320px}.emoji-btn[data-v-e3006ebf]{font-size:22px;background:none;border-radius:var(--radius-sm);padding:3px 5px;transition:background .1s,transform .1s;line-height:1;cursor:pointer}.emoji-btn[data-v-e3006ebf]:hover{background:var(--surface2);transform:scale(1.15)}.toolbar[data-v-e3006ebf]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 8px;flex-shrink:0}.toolbar-left[data-v-e3006ebf]{display:flex;align-items:center;gap:2px}.tool-btn[data-v-e3006ebf]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;color:var(--text-dim);background:none;border:none;cursor:pointer;transition:background .12s,color .12s}.tool-btn[data-v-e3006ebf]:hover:not(:disabled){background:var(--surface2);color:var(--text)}.tool-btn.active[data-v-e3006ebf]{color:var(--accent)}.tool-btn[data-v-e3006ebf]:disabled{opacity:.4;cursor:default}.send-btn[data-v-e3006ebf]{padding:6px 20px;border-radius:6px;font-size:13px;font-weight:500;background:var(--surface2);color:var(--text-dim);border:1px solid var(--border);transition:background .15s,color .15s,border-color .15s;cursor:not-allowed}.send-btn.active[data-v-e3006ebf]{background:var(--accent);color:#fff;border-color:var(--accent);cursor:pointer}.send-btn.active[data-v-e3006ebf]:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.ep-enter-active[data-v-e3006ebf],.ep-leave-active[data-v-e3006ebf]{transition:opacity .15s,transform .15s}.ep-enter-from[data-v-e3006ebf],.ep-leave-to[data-v-e3006ebf]{opacity:0;transform:translateY(6px)}.chat-area[data-v-ce7a4c7d]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.chat-header[data-v-ce7a4c7d]{height:48px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);flex-shrink:0}.room-name[data-v-ce7a4c7d]{font-weight:600;font-size:15px;color:var(--text-bright)}.messages-scroll[data-v-ce7a4c7d]{flex:1;overflow-y:auto;padding:8px 0 4px;display:flex;flex-direction:column;gap:1px}.time-divider[data-v-ce7a4c7d]{text-align:center;font-size:12px;color:var(--text-dim);padding:10px 0 6px;-webkit-user-select:none;user-select:none}.empty[data-v-ce7a4c7d]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:8px;padding:40px}.empty-icon[data-v-ce7a4c7d]{font-size:48px}.load-more-bar[data-v-ce7a4c7d]{display:flex;justify-content:center;padding:8px 0 4px}.load-more-btn[data-v-ce7a4c7d]{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);border-radius:12px;padding:4px 14px;font-size:12px;cursor:pointer;transition:background .15s,color .15s}.load-more-btn[data-v-ce7a4c7d]:hover{background:var(--surface);color:var(--text)}.app[data-v-295621e6]{display:flex;height:100vh;overflow:hidden}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ededed;--sidebar-bg: #f7f7f7;--surface: #ffffff;--surface2: #f0f0f0;--border: #d9d9d9;--text: #333333;--text-dim: #999999;--text-bright: #1a1a1a;--accent: #07c160;--accent-dim: #05a050;--online: #07c160;--danger: #fa5252;--warn: #fd7e14;--radius: 8px;--radius-sm: 4px;--bubble-mine: #95ec69;--bubble-mine-text: #0f1113;--bubble-other: #ffffff;font-size:14px}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bbb}
