.message-item[data-v-5b1124b0]{display:flex;justify-content:flex-start;width:100%}.message-item.own-message[data-v-5b1124b0]{justify-content:flex-end}.message-content[data-v-5b1124b0]{max-width:60%;background:#e8e8e8;border-radius:8px;padding:10px 14px}.own-message .message-content[data-v-5b1124b0]{background:#1890ff;color:#fff}.message-header[data-v-5b1124b0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px}.nickname[data-v-5b1124b0]{font-weight:500;margin-right:10px}.nickname.clickable[data-v-5b1124b0]{cursor:pointer;transition:opacity .2s}.nickname.clickable[data-v-5b1124b0]:hover{opacity:.7;text-decoration:underline}.own-message .nickname[data-v-5b1124b0]{color:#fffc}.time[data-v-5b1124b0]{font-size:11px;opacity:.6}.own-message .time[data-v-5b1124b0]{color:#ffffffb3}.message-body[data-v-5b1124b0]{word-break:break-word;line-height:1.5}.text-message[data-v-5b1124b0]{font-size:14px}.text-message[data-v-5b1124b0] .mention{color:#1890ff;font-weight:600;background:#1890ff1a;padding:2px 4px;border-radius:3px}.own-message .text-message[data-v-5b1124b0] .mention{color:#fff;background:#fff3}.image-message[data-v-5b1124b0],.video-message[data-v-5b1124b0]{display:flex;align-items:center;justify-content:center}.video-player[data-v-5b1124b0]{max-width:260px;max-height:200px;border-radius:8px;box-shadow:0 4px 12px #0000001f}.image-thumbnail[data-v-5b1124b0]{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-5b1124b0]:hover{filter:blur(1px);opacity:.95;transform:scale(1.05)}.image-preview-modal[data-v-5b1124b0]{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-5b1124b0 .2s ease}@keyframes fadeIn-5b1124b0{0%{opacity:0}to{opacity:1}}.image-preview-container[data-v-5b1124b0]{position:relative;max-width:90%;max-height:90%;cursor:default}.image-preview[data-v-5b1124b0]{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 8px 32px #00000080}.close-preview-btn[data-v-5b1124b0]{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-5b1124b0]:hover{background:#fff;transform:scale(1.1)}@media (max-width: 768px){.message-content[data-v-5b1124b0]{max-width:80%}.image-thumbnail[data-v-5b1124b0]{width:120px;height:120px}.close-preview-btn[data-v-5b1124b0]{top:10px;right:10px}}.chat-window[data-v-249e3869]{display:flex;flex-direction:column;height:100%;background:#fff}.messages-container[data-v-249e3869]{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.load-more-container[data-v-249e3869]{display:flex;justify-content:center;padding:10px 0;margin-bottom:10px}.load-more-btn[data-v-249e3869]{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-249e3869]:hover:not(:disabled){background:#e8e8e8;border-color:#999;color:#333}.load-more-btn[data-v-249e3869]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-249e3869]{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px}.message-wrapper[data-v-249e3869]{display:flex;animation:slideIn-249e3869 .3s ease-out}@keyframes slideIn-249e3869{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.messages-container[data-v-249e3869]::-webkit-scrollbar{width:6px}.messages-container[data-v-249e3869]::-webkit-scrollbar-track{background:#f1f1f1}.messages-container[data-v-249e3869]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.messages-container[data-v-249e3869]::-webkit-scrollbar-thumb:hover{background:#999}.chat-input[data-v-19c666ba]{padding:10px 12px;border-top:1px solid #e0e0e0;background:#f9f9f9}.error-message[data-v-19c666ba]{padding:10px;margin-bottom:10px;background:#fee;color:#c33;border-radius:4px;font-size:13px;border-left:3px solid #c33}.success-message[data-v-19c666ba]{padding:10px;margin-bottom:10px;background:#efe;color:#3c3;border-radius:4px;font-size:13px;border-left:3px solid #3c3}.input-wrapper[data-v-19c666ba]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.text-input[data-v-19c666ba]{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:13px;resize:none;height:36px;min-height:36px;max-height:120px;line-height:1.35;transition:border-color .2s,box-shadow .2s}.text-input[data-v-19c666ba]:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.text-input[data-v-19c666ba]:disabled{background:#f5f5f5;color:#999}.button-group[data-v-19c666ba]{display:flex;gap:6px;align-items:center}.upload-btn[data-v-19c666ba],.send-btn[data-v-19c666ba]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;white-space:nowrap}.upload-btn[data-v-19c666ba]:hover:not(.disabled):not(:disabled),.send-btn[data-v-19c666ba]:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#f0f7ff}.upload-btn.disabled[data-v-19c666ba],.send-btn[data-v-19c666ba]:disabled{opacity:.6;cursor:not-allowed}.send-btn[data-v-19c666ba]{background:#1890ff;color:#fff;border-color:#1890ff;min-width:72px}.send-btn[data-v-19c666ba]:hover:not(:disabled){background:#0d7adc;border-color:#0d7adc}.input-hint[data-v-19c666ba]{font-size:11px;color:#999;text-align:right}.room-selector[data-v-e3aff07f]{position:relative;background:transparent;padding:4px 0}.current-room[data-v-e3aff07f]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;box-shadow:0 4px 12px #667eea33}.room-name[data-v-e3aff07f]{font-weight:600;font-size:14px;letter-spacing:.2px}.btn-menu[data-v-e3aff07f]{background:#ffffff29;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:16px;cursor:pointer;padding:6px 9px;border-radius:7px;transition:all .2s ease}.btn-menu[data-v-e3aff07f]:hover{background:#ffffff47;transform:translateY(-1px)}.room-panel[data-v-e3aff07f]{position:absolute;top:100%;left:0;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 6px 20px #0000001f;z-index:999;max-height:500px;display:flex;flex-direction:column;margin-top:8px;border-radius:12px;overflow:hidden;min-width:360px;width:380px;max-width:92vw}.panel-tabs[data-v-e3aff07f]{display:flex;border-bottom:1px solid #eee;background:#f9f9f9}.tab-btn[data-v-e3aff07f]{flex:1;padding:14px;border:none;background:none;cursor:pointer;font-size:14px;color:#666;border-bottom:3px solid transparent;transition:all .2s}.tab-btn[data-v-e3aff07f]:hover{color:#333}.tab-btn.active[data-v-e3aff07f]{color:#667eea;border-bottom-color:#667eea;background:#fff}.panel-content[data-v-e3aff07f]{flex:1;overflow-y:auto}.tab-pane[data-v-e3aff07f]{padding:12px 14px 14px}.room-list[data-v-e3aff07f]{display:flex;flex-direction:column;gap:12px}.room-item[data-v-e3aff07f]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid #eee;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.room-item[data-v-e3aff07f]:hover{background:#f5f5f5;border-color:#667eea}.room-item.active[data-v-e3aff07f]{background:#e8f0ff;border-color:#667eea}.room-item.public[data-v-e3aff07f]{flex-direction:row;align-items:center;gap:14px}.room-info[data-v-e3aff07f]{display:flex;align-items:center;gap:12px;flex:1;width:100%;min-width:0}.room-item.public .room-info[data-v-e3aff07f]{flex-direction:row;align-items:center;gap:10px;flex-wrap:nowrap}.room-title[data-v-e3aff07f]{font-weight:600;font-size:14px;color:#333;white-space:nowrap}.room-desc[data-v-e3aff07f]{font-size:12px;color:#888;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-count[data-v-e3aff07f]{font-size:12px;color:#777;padding:3px 8px;background:#f3f4f6;border-radius:6px;white-space:nowrap}.room-actions[data-v-e3aff07f]{display:flex;gap:10px}.btn-delete[data-v-e3aff07f],.btn-leave[data-v-e3aff07f],.btn-create[data-v-e3aff07f],.btn-join[data-v-e3aff07f],.btn-joined[data-v-e3aff07f]{padding:8px 14px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;transition:all .2s}.btn-delete[data-v-e3aff07f]:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.btn-leave[data-v-e3aff07f]:hover{background:#e8f0ff;border-color:#667eea}.btn-create[data-v-e3aff07f]{background:#4ade80;color:#fff;border-color:#4ade80}.btn-create[data-v-e3aff07f]:hover:not(:disabled){background:#22c55e}.btn-create[data-v-e3aff07f]:disabled{opacity:.6;cursor:not-allowed}.btn-join[data-v-e3aff07f]{background:#667eea;color:#fff;border-color:#667eea}.btn-join[data-v-e3aff07f]:hover{background:#5568d3}.btn-joined[data-v-e3aff07f]{background:#e8f0ff;color:#667eea;border-color:#667eea;cursor:default}.create-room-form[data-v-e3aff07f]{display:flex;gap:10px;padding:12px 14px;border-top:1px solid #eee;background:#fafafa;align-items:center}.room-input[data-v-e3aff07f]{flex:1;padding:9px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px}.room-input[data-v-e3aff07f]:focus{outline:none;border-color:#667eea}.empty-state[data-v-e3aff07f]{padding:24px;text-align:center;color:#777;font-size:13px}.error-message[data-v-e3aff07f]{padding:10px 14px;background:#fee2e2;color:#ef4444;font-size:12px;border-radius:6px;margin:10px 12px}.confirm-dialog[data-v-e3aff07f]{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-e3aff07f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1}.dialog-content[data-v-e3aff07f]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:400px;z-index:1001}.dialog-header[data-v-e3aff07f]{padding:16px 20px;border-bottom:1px solid #eee}.dialog-header h3[data-v-e3aff07f]{margin:0;font-size:16px}.dialog-body[data-v-e3aff07f]{padding:16px 20px}.dialog-body p[data-v-e3aff07f]{margin:0 0 8px;font-size:14px;color:#333}.dialog-footer[data-v-e3aff07f]{display:flex;gap:10px;padding:12px 20px;border-top:1px solid #eee;justify-content:flex-end}.btn-cancel[data-v-e3aff07f]{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:13px}.btn-cancel[data-v-e3aff07f]:hover{background:#f5f5f5}.btn-delete-confirm[data-v-e3aff07f]{padding:8px 16px;border:none;background:#ef4444;color:#fff;border-radius:6px;cursor:pointer;font-size:13px}.btn-delete-confirm[data-v-e3aff07f]:hover{background:#dc2626}@media (max-width: 600px){.room-panel[data-v-e3aff07f]{max-height:400px}.room-item[data-v-e3aff07f]{flex-direction:column;align-items:flex-start}.room-actions[data-v-e3aff07f]{width:100%;justify-content:flex-end}}.media-viewer-modal[data-v-a5a1016d]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:center;justify-content:center}.modal-overlay[data-v-a5a1016d]{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;cursor:pointer}.modal-content[data-v-a5a1016d]{position:relative;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-a5a1016d]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e0e0e0}.modal-header h3[data-v-a5a1016d]{margin:0;font-size:18px;font-weight:600}.btn-close[data-v-a5a1016d]{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.btn-close[data-v-a5a1016d]:hover{background:#f0f0f0;color:#333}.media-container[data-v-a5a1016d]{flex:1;display:flex;flex-direction:column;overflow:auto;padding:16px}.no-media[data-v-a5a1016d]{text-align:center;color:#999;padding:40px 20px}.media-display[data-v-a5a1016d]{flex:0 0 auto;text-align:center;margin-bottom:16px;max-height:400px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px;overflow:hidden}.media-img[data-v-a5a1016d]{max-width:100%;max-height:400px;object-fit:contain}.media-video[data-v-a5a1016d]{max-width:100%;max-height:400px;border-radius:8px}.media-controls[data-v-a5a1016d]{display:flex;gap:12px;margin-bottom:16px;justify-content:center;flex-wrap:wrap}.btn-nav[data-v-a5a1016d]{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:opacity .2s}.btn-nav[data-v-a5a1016d]:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-nav[data-v-a5a1016d]:disabled{opacity:.5;cursor:not-allowed}.media-list[data-v-a5a1016d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;overflow-y:auto;max-height:150px;padding:8px;background:#fafafa;border-radius:8px}.media-item[data-v-a5a1016d]{cursor:pointer;border:2px solid transparent;border-radius:8px;overflow:hidden;transition:all .2s}.media-item[data-v-a5a1016d]:hover{border-color:#667eea;transform:scale(1.05)}.media-item.active[data-v-a5a1016d]{border-color:#667eea;box-shadow:0 0 8px #667eea4d}.media-thumbnail[data-v-a5a1016d]{width:100%;aspect-ratio:1;background:#f0f0f0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.media-thumbnail img[data-v-a5a1016d]{width:100%;height:100%;object-fit:cover}.video-icon[data-v-a5a1016d]{font-size:24px;color:#667eea;font-weight:700}.media-info[data-v-a5a1016d]{padding:4px;background:#fff;font-size:11px;text-align:center}.media-type[data-v-a5a1016d]{font-weight:500;color:#333}.media-time[data-v-a5a1016d]{color:#999;margin-top:2px}.app[data-v-2fd154fe]{display:flex;flex-direction:column;width:100%;height:100vh;background:#f5f5f5}.app-header[data-v-2fd154fe]{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}.room-bar[data-v-2fd154fe]{display:flex;align-items:center;gap:10px;padding:6px 16px 0}.btn-media[data-v-2fd154fe]{padding:7px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;box-shadow:0 3px 10px #0000001a;transition:transform .2s,opacity .2s}.btn-media[data-v-2fd154fe]:hover{opacity:.9;transform:translateY(-1px)}.app-header h1[data-v-2fd154fe]{margin:0;font-size:24px;font-weight:600}.user-info[data-v-2fd154fe]{display:flex;align-items:center;gap:10px}.user-badge[data-v-2fd154fe]{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-2fd154fe]:hover{background:#ffffff4d;transform:scale(1.05)}.edit-icon[data-v-2fd154fe]{font-size:11px;opacity:.7}.app-main[data-v-2fd154fe]{flex:1;overflow:hidden;background:#fff}.app-footer[data-v-2fd154fe]{background:#fff;border-top:1px solid #e0e0e0}.nickname-dialog[data-v-2fd154fe]{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-2fd154fe]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:-1}.dialog-content[data-v-2fd154fe]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:400px;z-index:1001;animation:slideIn-2fd154fe .2s ease-out}@keyframes slideIn-2fd154fe{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-2fd154fe]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.dialog-header h3[data-v-2fd154fe]{margin:0;font-size:16px;color:#333}.btn-close[data-v-2fd154fe]{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-2fd154fe]:hover{background:#f5f5f5;color:#333}.dialog-body[data-v-2fd154fe]{padding:20px}.nickname-input[data-v-2fd154fe]{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-2fd154fe]:focus{outline:none;border-color:#667eea}.input-hint[data-v-2fd154fe]{font-size:12px;color:#999;margin-bottom:12px}.error-message[data-v-2fd154fe]{color:#ef4444;font-size:12px;background:#fee2e2;padding:8px 12px;border-radius:6px;margin-top:8px}.dialog-footer[data-v-2fd154fe]{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #eee;justify-content:flex-end}.btn-cancel[data-v-2fd154fe],.btn-confirm[data-v-2fd154fe]{padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel[data-v-2fd154fe]{background:#f5f5f5;color:#666}.btn-cancel[data-v-2fd154fe]:hover{background:#e8e8e8}.btn-confirm[data-v-2fd154fe]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm[data-v-2fd154fe]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-confirm[data-v-2fd154fe]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.app-header[data-v-2fd154fe]{padding:12px 16px}.app-header h1[data-v-2fd154fe]{font-size:18px}.user-badge[data-v-2fd154fe]{font-size:12px;padding:4px 10px}.dialog-content[data-v-2fd154fe]{width:95%}}
