.message-item[data-v-05a08aef]{display:flex;justify-content:flex-start;width:100%}.message-item.own-message[data-v-05a08aef]{justify-content:flex-end}.message-content[data-v-05a08aef]{max-width:60%;background:#e8e8e8;border-radius:8px;padding:10px 14px}.own-message .message-content[data-v-05a08aef]{background:#1890ff;color:#fff}.message-header[data-v-05a08aef]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px}.nickname[data-v-05a08aef]{font-weight:500;margin-right:10px}.nickname.clickable[data-v-05a08aef]{cursor:pointer;transition:opacity .2s}.nickname.clickable[data-v-05a08aef]:hover{opacity:.7;text-decoration:underline}.own-message .nickname[data-v-05a08aef]{color:#fffc}.time[data-v-05a08aef]{font-size:11px;opacity:.6}.own-message .time[data-v-05a08aef]{color:#ffffffb3}.message-body[data-v-05a08aef]{word-break:break-word;line-height:1.5}.text-message[data-v-05a08aef]{font-size:14px}.text-message[data-v-05a08aef] .mention{color:#1890ff;font-weight:600;background:#1890ff1a;padding:2px 4px;border-radius:3px}.own-message .text-message[data-v-05a08aef] .mention{color:#fff;background:#fff3}.image-message[data-v-05a08aef]{display:flex;align-items:center;justify-content:center}.image-thumbnail[data-v-05a08aef]{width:150px;height:150px;object-fit:cover;border-radius:8px;cursor:pointer;transition:all .2s ease;filter:blur(3px);opacity:.8}.image-thumbnail[data-v-05a08aef]:hover{filter:blur(1px);opacity:.95;transform:scale(1.05)}.image-preview-modal[data-v-05a08aef]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;animation:fadeIn-05a08aef .2s ease}@keyframes fadeIn-05a08aef{0%{opacity:0}to{opacity:1}}.image-preview-container[data-v-05a08aef]{position:relative;max-width:90%;max-height:90%;cursor:default}.image-preview[data-v-05a08aef]{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 8px 32px #00000080}.close-preview-btn[data-v-05a08aef]{position:absolute;top:-40px;right:0;background:#ffffffe6;border:none;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-preview-btn[data-v-05a08aef]:hover{background:#fff;transform:scale(1.1)}@media (max-width: 768px){.message-content[data-v-05a08aef]{max-width:80%}.image-thumbnail[data-v-05a08aef]{width:120px;height:120px}.close-preview-btn[data-v-05a08aef]{top:10px;right:10px}}.chat-window[data-v-ae319c5c]{display:flex;flex-direction:column;height:100%;background:#fff}.messages-container[data-v-ae319c5c]{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.load-more-container[data-v-ae319c5c]{display:flex;justify-content:center;padding:10px 0;margin-bottom:10px}.load-more-btn[data-v-ae319c5c]{padding:8px 20px;background:#f0f0f0;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:13px;color:#666;transition:all .2s}.load-more-btn[data-v-ae319c5c]:hover:not(:disabled){background:#e8e8e8;border-color:#999;color:#333}.load-more-btn[data-v-ae319c5c]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-ae319c5c]{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px}.message-wrapper[data-v-ae319c5c]{display:flex;animation:slideIn-ae319c5c .3s ease-out}@keyframes slideIn-ae319c5c{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.messages-container[data-v-ae319c5c]::-webkit-scrollbar{width:6px}.messages-container[data-v-ae319c5c]::-webkit-scrollbar-track{background:#f1f1f1}.messages-container[data-v-ae319c5c]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.messages-container[data-v-ae319c5c]::-webkit-scrollbar-thumb:hover{background:#999}.chat-input[data-v-b3a6ad6d]{padding:15px;border-top:1px solid #e0e0e0;background:#f9f9f9}.error-message[data-v-b3a6ad6d]{padding:10px;margin-bottom:10px;background:#fee;color:#c33;border-radius:4px;font-size:13px;border-left:3px solid #c33}.success-message[data-v-b3a6ad6d]{padding:10px;margin-bottom:10px;background:#efe;color:#3c3;border-radius:4px;font-size:13px;border-left:3px solid #3c3}.input-wrapper[data-v-b3a6ad6d]{display:flex;gap:10px;margin-bottom:8px}.text-input[data-v-b3a6ad6d]{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:13px;resize:none;height:80px;transition:border-color .2s}.text-input[data-v-b3a6ad6d]:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.text-input[data-v-b3a6ad6d]:disabled{background:#f5f5f5;color:#999}.button-group[data-v-b3a6ad6d]{display:flex;gap:8px}.upload-btn[data-v-b3a6ad6d],.send-btn[data-v-b3a6ad6d]{padding:10px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;white-space:nowrap}.upload-btn[data-v-b3a6ad6d]:hover:not(.disabled):not(:disabled),.send-btn[data-v-b3a6ad6d]:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#f0f7ff}.upload-btn.disabled[data-v-b3a6ad6d],.send-btn[data-v-b3a6ad6d]:disabled{opacity:.6;cursor:not-allowed}.send-btn[data-v-b3a6ad6d]{background:#1890ff;color:#fff;border-color:#1890ff;min-width:80px}.send-btn[data-v-b3a6ad6d]:hover:not(:disabled){background:#0d7adc;border-color:#0d7adc}.input-hint[data-v-b3a6ad6d]{font-size:12px;color:#999;text-align:right}.room-selector[data-v-e2800993]{position:relative;background:#fff;border-bottom:1px solid #e0e0e0}.current-room[data-v-e2800993]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.room-name[data-v-e2800993]{font-weight:500;font-size:14px}.btn-menu[data-v-e2800993]{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-menu[data-v-e2800993]:hover{background:#fff3}.room-panel[data-v-e2800993]{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 4px 12px #0000001a;z-index:999;max-height:500px;display:flex;flex-direction:column}.panel-tabs[data-v-e2800993]{display:flex;border-bottom:1px solid #eee;background:#f9f9f9}.tab-btn[data-v-e2800993]{flex:1;padding:12px;border:none;background:none;cursor:pointer;font-size:13px;color:#666;border-bottom:3px solid transparent;transition:all .2s}.tab-btn[data-v-e2800993]:hover{color:#333}.tab-btn.active[data-v-e2800993]{color:#667eea;border-bottom-color:#667eea;background:#fff}.panel-content[data-v-e2800993]{flex:1;overflow-y:auto}.tab-pane[data-v-e2800993]{padding:8px}.room-list[data-v-e2800993]{display:flex;flex-direction:column;gap:6px}.room-item[data-v-e2800993]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #eee;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.room-item[data-v-e2800993]:hover{background:#f5f5f5;border-color:#667eea}.room-item.active[data-v-e2800993]{background:#e8f0ff;border-color:#667eea}.room-item.public[data-v-e2800993]{flex-direction:column;align-items:flex-start;gap:8px}.room-info[data-v-e2800993]{display:flex;align-items:center;gap:10px;flex:1;width:100%}.room-item.public .room-info[data-v-e2800993]{flex-direction:column;align-items:flex-start;gap:4px}.room-title[data-v-e2800993]{font-weight:500;font-size:13px;color:#333}.room-desc[data-v-e2800993]{font-size:11px;color:#999}.room-count[data-v-e2800993]{font-size:11px;color:#999;padding:2px 6px;background:#f0f0f0;border-radius:3px;white-space:nowrap}.room-actions[data-v-e2800993]{display:flex;gap:6px}.btn-delete[data-v-e2800993],.btn-leave[data-v-e2800993],.btn-create[data-v-e2800993],.btn-join[data-v-e2800993],.btn-joined[data-v-e2800993]{padding:4px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:11px;transition:all .2s}.btn-delete[data-v-e2800993]:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.btn-leave[data-v-e2800993]:hover{background:#e8f0ff;border-color:#667eea}.btn-create[data-v-e2800993]{background:#4ade80;color:#fff;border-color:#4ade80;width:100%}.btn-create[data-v-e2800993]:hover:not(:disabled){background:#22c55e}.btn-create[data-v-e2800993]:disabled{opacity:.6;cursor:not-allowed}.btn-join[data-v-e2800993]{background:#667eea;color:#fff;border-color:#667eea}.btn-join[data-v-e2800993]:hover{background:#5568d3}.btn-joined[data-v-e2800993]{background:#e8f0ff;color:#667eea;border-color:#667eea;cursor:default}.create-room-form[data-v-e2800993]{display:flex;gap:6px;padding:8px;border-top:1px solid #eee;background:#fafafa}.room-input[data-v-e2800993]{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:12px}.room-input[data-v-e2800993]:focus{outline:none;border-color:#667eea}.empty-state[data-v-e2800993]{padding:20px;text-align:center;color:#999;font-size:12px}.error-message[data-v-e2800993]{padding:8px 12px;background:#fee2e2;color:#ef4444;font-size:11px;border-radius:4px;margin:8px}.confirm-dialog[data-v-e2800993]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.dialog-overlay[data-v-e2800993]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1}.dialog-content[data-v-e2800993]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:400px;z-index:1001}.dialog-header[data-v-e2800993]{padding:16px 20px;border-bottom:1px solid #eee}.dialog-header h3[data-v-e2800993]{margin:0;font-size:16px}.dialog-body[data-v-e2800993]{padding:16px 20px}.dialog-body p[data-v-e2800993]{margin:0 0 8px;font-size:14px;color:#333}.dialog-footer[data-v-e2800993]{display:flex;gap:10px;padding:12px 20px;border-top:1px solid #eee;justify-content:flex-end}.btn-cancel[data-v-e2800993]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:13px}.btn-cancel[data-v-e2800993]:hover{background:#f5f5f5}.btn-delete-confirm[data-v-e2800993]{padding:8px 16px;border:none;background:#ef4444;color:#fff;border-radius:6px;cursor:pointer;font-size:13px}.btn-delete-confirm[data-v-e2800993]:hover{background:#dc2626}@media (max-width: 600px){.room-panel[data-v-e2800993]{max-height:400px}.room-item[data-v-e2800993]{flex-direction:column;align-items:flex-start}.room-actions[data-v-e2800993]{width:100%;justify-content:flex-end}}.app[data-v-f792e20b]{display:flex;flex-direction:column;width:100%;height:100vh;background:#f5f5f5}.app-header[data-v-f792e20b]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #0000001a}.app-header h1[data-v-f792e20b]{margin:0;font-size:24px;font-weight:600}.user-info[data-v-f792e20b]{display:flex;align-items:center;gap:10px}.user-badge[data-v-f792e20b]{background:#fff3;padding:6px 12px;border-radius:20px;font-size:13px;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.user-badge[data-v-f792e20b]:hover{background:#ffffff4d;transform:scale(1.05)}.edit-icon[data-v-f792e20b]{font-size:11px;opacity:.7}.app-main[data-v-f792e20b]{flex:1;overflow:hidden;background:#fff}.app-footer[data-v-f792e20b]{background:#fff;border-top:1px solid #e0e0e0}.nickname-dialog[data-v-f792e20b]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.dialog-overlay[data-v-f792e20b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1}.dialog-content[data-v-f792e20b]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:400px;z-index:1001;animation:slideIn-f792e20b .2s ease-out}@keyframes slideIn-f792e20b{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-f792e20b]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.dialog-header h3[data-v-f792e20b]{margin:0;font-size:16px;color:#333}.btn-close[data-v-f792e20b]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-f792e20b]:hover{background:#f5f5f5;color:#333}.dialog-body[data-v-f792e20b]{padding:20px}.nickname-input[data-v-f792e20b]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;margin-bottom:8px;box-sizing:border-box;transition:border-color .2s}.nickname-input[data-v-f792e20b]:focus{outline:none;border-color:#667eea}.input-hint[data-v-f792e20b]{font-size:12px;color:#999;margin-bottom:12px}.error-message[data-v-f792e20b]{color:#ef4444;font-size:12px;background:#fee2e2;padding:8px 12px;border-radius:6px;margin-top:8px}.dialog-footer[data-v-f792e20b]{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #eee;justify-content:flex-end}.btn-cancel[data-v-f792e20b],.btn-confirm[data-v-f792e20b]{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel[data-v-f792e20b]{background:#f5f5f5;color:#666}.btn-cancel[data-v-f792e20b]:hover{background:#e8e8e8}.btn-confirm[data-v-f792e20b]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm[data-v-f792e20b]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-confirm[data-v-f792e20b]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.app-header[data-v-f792e20b]{padding:12px 16px}.app-header h1[data-v-f792e20b]{font-size:18px}.user-badge[data-v-f792e20b]{font-size:12px;padding:4px 10px}.dialog-content[data-v-f792e20b]{width:95%}}
