.avatar-icon[data-v-7173c900]{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.avatar-initial[data-v-7173c900]{color:#fff;font-weight:700;line-height:1}.size-sm[data-v-7173c900]{width:30px;height:30px}.size-sm .avatar-initial[data-v-7173c900]{font-size:13px}.size-md[data-v-7173c900]{width:36px;height:36px}.size-md .avatar-initial[data-v-7173c900]{font-size:15px}.size-lg[data-v-7173c900]{width:42px;height:42px}.size-lg .avatar-initial[data-v-7173c900]{font-size:17px}.size-xl[data-v-7173c900]{width:84px;height:84px}.size-xl .avatar-initial[data-v-7173c900]{font-size:32px}.size-msg[data-v-7173c900]{width:34px;height:34px}.size-msg .avatar-initial[data-v-7173c900]{font-size:14px}.login-page[data-v-efe13b48]{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-page)}.login-card[data-v-efe13b48]{width:100%;max-width:400px;background:var(--bg-card);border-radius:20px;padding:40px 32px;box-shadow:var(--shadow-card);animation:fadeIn .5s ease}.logo[data-v-efe13b48]{text-align:center;margin-bottom:32px}.logo-icon[data-v-efe13b48]{width:48px;height:48px;border-radius:14px}.logo h1[data-v-efe13b48]{margin-top:12px;font-size:24px;font-weight:700;color:var(--text-primary)}.logo p[data-v-efe13b48]{font-size:13px;color:var(--text-tertiary);margin-top:4px}.form[data-v-efe13b48]{display:flex;flex-direction:column;gap:14px}.field input[data-v-efe13b48]{width:100%;padding:12px 16px;border:1.5px solid var(--border-input);border-radius:12px;font-size:15px;outline:none;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.field input[data-v-efe13b48]:focus{border-color:var(--primary-light)}.field input[data-v-efe13b48]::placeholder{color:var(--text-tertiary)}.password-field[data-v-efe13b48]{position:relative}.password-field input[data-v-efe13b48]{padding-right:44px}.toggle-pwd[data-v-efe13b48]{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s}.toggle-pwd[data-v-efe13b48]:hover{color:var(--text-placeholder)}.error[data-v-efe13b48]{color:var(--error);font-size:13px;text-align:center}.btn[data-v-efe13b48]{padding:12px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn.primary[data-v-efe13b48]{background:var(--primary);color:#fff}.btn.primary[data-v-efe13b48]:hover{background:var(--primary-dark)}.btn[data-v-efe13b48]:disabled{opacity:.6;cursor:not-allowed;transform:none}.quick-login[data-v-efe13b48]{margin-top:28px;padding-top:20px;border-top:1px solid var(--border-color)}.quick-login-title[data-v-efe13b48]{font-size:12px;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.quick-login-list[data-v-efe13b48]{display:flex;flex-direction:column;gap:8px}.quick-card-wrapper[data-v-efe13b48]{position:relative;overflow:hidden;border-radius:14px;background:var(--bg-input)}.quick-card[data-v-efe13b48]{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-input);border-radius:14px;cursor:pointer;transition:transform .25s cubic-bezier(.25,.46,.45,.94);user-select:none;-webkit-user-select:none}.quick-card[data-v-efe13b48]:active{background:var(--bg-active-solid)}.quick-card.swiped[data-v-efe13b48]{border-radius:14px}.qc-info[data-v-efe13b48]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.qc-name[data-v-efe13b48]{font-size:14px;font-weight:600;color:var(--text-primary)}.qc-username[data-v-efe13b48]{font-size:11px;color:var(--text-tertiary)}.qc-arrow[data-v-efe13b48]{color:var(--text-tertiary);flex-shrink:0}.qc-delete-btn[data-v-efe13b48]{position:absolute;right:0;top:2px;bottom:2px;z-index:1;width:64px;border:none;border-radius:0 12px 12px 0;background:var(--error);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.qc-delete-btn[data-v-efe13b48]:active{background:var(--error-hover-text)}@media (max-width: 768px){.login-card[data-v-efe13b48]{padding:32px 20px}}.copyright[data-v-efe13b48]{text-align:center;font-size:11px;color:var(--text-very-muted);margin-top:24px;-webkit-user-select:none;user-select:none}.modal-overlay[data-v-26a44434]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeInOverlay-26a44434 .15s ease}@keyframes fadeInOverlay-26a44434{0%{opacity:0}to{opacity:1}}.modal-card[data-v-26a44434]{width:480px;max-width:92vw;max-height:90vh;background:var(--bg-card);border-radius:18px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;animation:slideUp-26a44434 .2s ease}@keyframes slideUp-26a44434{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dark .modal-card[data-v-26a44434]{box-shadow:0 20px 60px #00000080}.modal-header[data-v-26a44434]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 14px}.modal-header h3[data-v-26a44434]{font-size:17px;font-weight:700;color:var(--text-primary)}.dark .modal-header h3[data-v-26a44434]{color:var(--text-primary)}.close-btn[data-v-26a44434]{width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-btn-secondary);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.close-btn[data-v-26a44434]:hover{background:var(--bg-hover);color:var(--text-tertiary)}.dark .close-btn[data-v-26a44434]{background:var(--bg-btn-secondary);color:var(--text-tertiary)}.dark .close-btn[data-v-26a44434]:hover{background:var(--border-input);color:var(--text-secondary)}.modal-tabs[data-v-26a44434]{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border-color)}.dark .modal-tabs[data-v-26a44434]{border-color:var(--border-color)}.tab-btn[data-v-26a44434]{padding:10px;border:none;background:transparent;font-size:13.5px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.tab-btn[data-v-26a44434]:hover{color:var(--text-secondary)}.tab-btn.active[data-v-26a44434]{color:var(--primary);border-bottom-color:var(--primary)}.dark .tab-btn[data-v-26a44434]{color:var(--text-tertiary)}.dark .tab-btn[data-v-26a44434]:hover{color:var(--text-secondary)}.dark .tab-btn.active[data-v-26a44434]{color:var(--primary-light);border-bottom-color:var(--primary-light)}.modal-body[data-v-26a44434]{padding:20px 24px 24px;flex:1;min-height:0;overflow-y:auto}.form-group[data-v-26a44434]{margin-bottom:14px}.form-group label[data-v-26a44434]{display:block;font-size:12.5px;font-weight:600;color:var(--text-tertiary);margin-bottom:6px}.dark .form-group label[data-v-26a44434]{color:var(--text-muted)}.form-group input[data-v-26a44434]{width:100%;padding:10px 14px;border:1.5px solid var(--border-input);border-radius:10px;font-size:14px;outline:none;transition:border-color .2s;background:var(--bg-input);color:var(--text-secondary)}.form-group input[data-v-26a44434]:focus{border-color:var(--primary);background:var(--bg-input-focus)}.dark .form-group input[data-v-26a44434]{background:var(--bg-input);border-color:var(--border-input);color:var(--text-primary)}.dark .form-group input[data-v-26a44434]:focus{border-color:var(--primary-light);background:var(--bg-input)}.modal-msg[data-v-26a44434]{text-align:center;font-size:13px;margin-bottom:12px;color:#22c55e;padding:8px;border-radius:8px;background:#f0fdf4}.modal-msg.error[data-v-26a44434]{color:#dc2626;background:#fef2f2}.dark .modal-msg[data-v-26a44434]{background:#22c55e1a}.dark .modal-msg.error[data-v-26a44434]{background:#dc26261a}.modal-submit[data-v-26a44434]{width:100%;padding:11px;border:none;border-radius:10px;background:var(--primary-gradient);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.modal-submit[data-v-26a44434]:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary));transform:translateY(-1px)}.modal-submit[data-v-26a44434]:disabled{opacity:.6;cursor:default;transform:none}.user-mgmt[data-v-26a44434]{padding-top:14px;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.add-user-section[data-v-26a44434]{background:var(--bg-card-alt);border-radius:12px;padding:16px;margin-bottom:16px}.dark .add-user-section[data-v-26a44434]{background:var(--bg-card-alt)}.section-title[data-v-26a44434]{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 10px}.dark .section-title[data-v-26a44434]{color:var(--text-secondary)}.add-user-form[data-v-26a44434]{display:flex;flex-direction:column;gap:10px}.add-user-input[data-v-26a44434]{width:100%;padding:10px 14px;border:1.5px solid var(--border-input);border-radius:10px;font-size:14px;outline:none;background:var(--bg-input-focus);color:var(--text-secondary);transition:border-color .2s}.add-user-input[data-v-26a44434]:focus{border-color:var(--primary)}.dark .add-user-input[data-v-26a44434]{background:var(--bg-input);border-color:var(--border-input);color:var(--text-primary)}.dark .add-user-input[data-v-26a44434]:focus{border-color:var(--primary-light)}.add-user-btn[data-v-26a44434]{padding:10px 18px;border:none;border-radius:10px;background:var(--primary-gradient);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.add-user-btn[data-v-26a44434]:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}.add-user-btn[data-v-26a44434]:disabled{opacity:.5;cursor:default}.add-user-section .modal-msg[data-v-26a44434]{margin-top:10px;margin-bottom:0}.user-list-header[data-v-26a44434]{font-size:12px;font-weight:600;color:#999;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.dark .user-list-header[data-v-26a44434]{color:#777}.user-list-scroll[data-v-26a44434]{flex:1;min-height:0;overflow-y:auto}.user-list-scroll[data-v-26a44434]::-webkit-scrollbar{width:4px}.user-list-scroll[data-v-26a44434]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:2px}.dark .user-list-scroll[data-v-26a44434]::-webkit-scrollbar-thumb{background:#404060}.user-list-item[data-v-26a44434]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;transition:background .12s;margin-bottom:2px}.user-list-item[data-v-26a44434]:hover,.dark .user-list-item[data-v-26a44434]:hover{background:var(--bg-card-alt)}.user-item-left[data-v-26a44434]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.user-item-info[data-v-26a44434]{display:flex;flex-direction:column;gap:1px;min-width:0}.user-item-name[data-v-26a44434]{font-size:13.5px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.dark .user-item-name[data-v-26a44434]{color:var(--text-primary)}.admin-badge[data-v-26a44434]{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;background:var(--primary-alpha-12);color:var(--primary)}.online-dot-mini[data-v-26a44434]{width:7px;height:7px;border-radius:50%;background:#ccc;flex-shrink:0}.online-dot-mini.on[data-v-26a44434]{background:#22c55e}.user-item-id[data-v-26a44434]{font-size:11px;color:#bbb}.dark .user-item-id[data-v-26a44434]{color:#666}.delete-user-btn[data-v-26a44434]{padding:6px 14px;border:1px solid #fee2e2;border-radius:8px;background:transparent;color:#dc2626;font-size:12px;font-weight:500;cursor:pointer;flex-shrink:0;transition:all .15s}.delete-user-btn[data-v-26a44434]:hover{background:#fef2f2}.delete-user-btn[data-v-26a44434]:disabled{opacity:.5;cursor:default}.dark .delete-user-btn[data-v-26a44434]{border-color:#dc26264d;color:#f87171}.dark .delete-user-btn[data-v-26a44434]:hover{background:#dc26261a}.user-item-actions[data-v-26a44434]{display:flex;gap:8px;flex-shrink:0}.reset-pwd-btn[data-v-26a44434]{padding:6px 14px;border:1px solid var(--primary-alpha-15);border-radius:8px;background:transparent;color:var(--primary);font-size:12px;font-weight:500;cursor:pointer;flex-shrink:0;transition:all .15s}.reset-pwd-btn[data-v-26a44434]:hover{background:var(--primary-alpha-08)}.reset-pwd-btn[data-v-26a44434]:disabled{opacity:.5;cursor:default}.dark .reset-pwd-btn[data-v-26a44434]{border-color:var(--primary-alpha-30);color:var(--primary-light)}.dark .reset-pwd-btn[data-v-26a44434]:hover{background:var(--primary-alpha-10)}.theme-tab[data-v-26a44434]{padding-top:14px}.theme-row[data-v-26a44434]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-card-alt);border-radius:12px;margin-bottom:16px}.dark .theme-row[data-v-26a44434]{background:var(--bg-card-alt)}.theme-row-info[data-v-26a44434]{display:flex;flex-direction:column;gap:2px}.theme-row-label[data-v-26a44434]{font-size:14px;font-weight:600;color:var(--text-primary)}.dark .theme-row-label[data-v-26a44434]{color:var(--text-primary)}.theme-row-desc[data-v-26a44434]{font-size:12px;color:var(--text-muted)}.dark .theme-row-desc[data-v-26a44434]{color:var(--text-placeholder)}.toggle-switch[data-v-26a44434]{width:48px;height:28px;border-radius:14px;border:none;background:var(--bg-btn-secondary);cursor:pointer;position:relative;transition:background .25s;flex-shrink:0}.toggle-switch.on[data-v-26a44434]{background:var(--primary)}.toggle-knob[data-v-26a44434]{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .25s}.toggle-switch.on .toggle-knob[data-v-26a44434]{transform:translate(20px)}.theme-row-col[data-v-26a44434]{flex-direction:column;align-items:stretch;gap:14px}.anim-track[data-v-26a44434]{position:relative;display:flex;align-items:center;justify-content:space-between;background:#00000014;border-radius:28px;padding:6px;gap:4px}.dark .anim-track[data-v-26a44434]{background:#00000059}.anim-track[data-v-26a44434]:before{content:"";position:absolute;top:6px;bottom:6px;left:6px;border-radius:24px;background:var(--primary-gradient);z-index:0;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.anim-track.anim-lv0[data-v-26a44434]:before{width:calc(33.33% - 10px)}.anim-track.anim-lv1[data-v-26a44434]:before{width:calc(66.66% - 8px)}.anim-track.anim-lv2[data-v-26a44434]:before{width:calc(100% - 12px)}.anim-step[data-v-26a44434]{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;border:none;border-radius:22px;background:transparent;cursor:pointer;transition:all .3s;outline:none}.anim-step[data-v-26a44434]:hover{background:var(--primary-alpha-06)}.anim-dot[data-v-26a44434]{width:32px;height:32px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .35s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.dark .anim-dot[data-v-26a44434]{background:var(--bg-input);border-color:var(--border-input)}.anim-step.reached .anim-dot[data-v-26a44434]{border-color:var(--primary)}.dark .anim-step.reached .anim-dot[data-v-26a44434]{border-color:var(--primary-light)}.anim-step.active .anim-dot[data-v-26a44434]{background:#fff;border-color:var(--primary);box-shadow:0 0 0 6px var(--primary-alpha-20),0 0 24px var(--primary-alpha-40),0 4px 20px #0000001f;transform:scale(1.15)}.dark .anim-step.active .anim-dot[data-v-26a44434]{background:#fff;border-color:var(--primary-light);box-shadow:0 0 0 6px var(--primary-alpha-25),0 0 28px var(--primary-alpha-50),0 4px 24px #00000040}.anim-check[data-v-26a44434]{color:var(--primary);flex-shrink:0}.anim-label[data-v-26a44434]{font-size:13px;font-weight:500;color:var(--text-secondary);transition:all .3s;white-space:nowrap;opacity:.65}.anim-step.reached .anim-label[data-v-26a44434]{color:var(--text-primary);opacity:.85}.anim-step.active .anim-label[data-v-26a44434]{color:#fff;font-weight:700;opacity:1;text-shadow:0 1px 4px rgba(0,0,0,.15)}.dark .anim-step.reached .anim-label[data-v-26a44434]{opacity:.9}.theme-section[data-v-26a44434]{margin-bottom:20px}.theme-section-title[data-v-26a44434]{font-size:12.5px;font-weight:600;color:var(--text-tertiary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.dark .theme-section-title[data-v-26a44434]{color:var(--text-muted)}.theme-colors[data-v-26a44434]{display:flex;gap:10px;flex-wrap:wrap}.theme-color-btn[data-v-26a44434]{width:44px;height:44px;border-radius:12px;border:2px solid transparent;background:var(--bg-hover);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.theme-color-btn[data-v-26a44434]:hover{transform:scale(1.08);box-shadow:0 2px 10px #0000001a}.theme-color-btn.active[data-v-26a44434]{border-color:var(--preset-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--preset-color) 20%,transparent)}.dark .theme-color-btn[data-v-26a44434]{background:var(--bg-input)}.theme-color-dot[data-v-26a44434]{width:26px;height:26px;border-radius:50%;transition:transform .2s}.theme-color-btn:hover .theme-color-dot[data-v-26a44434]{transform:scale(1.1)}.theme-check[data-v-26a44434]{position:absolute;top:-4px;right:-4px;color:#fff;background:var(--preset-color);border-radius:50%;padding:2px;width:18px;height:18px;box-shadow:0 1px 4px #0003}.theme-preview[data-v-26a44434]{margin-top:4px}.preview-cards[data-v-26a44434]{display:flex;gap:10px}.preview-card[data-v-26a44434]{flex:1;padding:14px;border-radius:12px;background:var(--bg-card-alt);display:flex;align-items:center;gap:10px;transition:all .3s}.dark .preview-card[data-v-26a44434]{background:var(--bg-card-alt)}.preview-card.glass[data-v-26a44434]{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:.85}.preview-card.accent[data-v-26a44434]{border:1px solid rgba(0,0,0,.04)}.dark .preview-card.accent[data-v-26a44434]{border-color:#ffffff0a}.preview-avatar[data-v-26a44434]{width:36px;height:36px;border-radius:50%;flex-shrink:0}.preview-badge[data-v-26a44434]{width:36px;height:36px;border-radius:10px;background:var(--primary);flex-shrink:0}.preview-lines[data-v-26a44434]{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.preview-line[data-v-26a44434]{height:8px;border-radius:4px;background:#e0e0e6}.dark .preview-line[data-v-26a44434]{background:#3a3a4e}.preview-line.w80[data-v-26a44434]{width:80%}.preview-line.w60[data-v-26a44434]{width:60%}.preview-line.w50[data-v-26a44434]{width:50%}.preview-line.w90[data-v-26a44434]{width:90%}@media (max-width: 600px){.modal-card[data-v-26a44434]{width:96vw;max-height:90vh}}.danger-zone[data-v-26a44434]{margin-top:24px;padding-top:20px;border-top:1px solid #e8e8ec}.dark .danger-zone[data-v-26a44434]{border-color:#282840}.danger-divider[data-v-26a44434]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.danger-divider span[data-v-26a44434]{font-size:11px;font-weight:600;color:#dc2626;text-transform:uppercase;letter-spacing:1px}.danger-hint[data-v-26a44434]{font-size:12px;color:#999;margin-bottom:12px;line-height:1.5}.dark .danger-hint[data-v-26a44434]{color:#777}.danger-btn[data-v-26a44434]{width:100%;padding:10px;border:1px solid rgba(220,38,38,.25);border-radius:10px;background:transparent;color:#dc2626;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s}.danger-btn[data-v-26a44434]:hover{background:#fef2f2;border-color:#fca5a5}.danger-btn[data-v-26a44434]:disabled{opacity:.5;cursor:default;background:transparent}.dark .danger-btn[data-v-26a44434]{border-color:#dc26264d;color:#f87171}.dark .danger-btn[data-v-26a44434]:hover{background:#dc26261a;border-color:#dc262680}.modal-body[data-v-26a44434]::-webkit-scrollbar{width:5px}.modal-body[data-v-26a44434]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:3px}.modal-body[data-v-26a44434]::-webkit-scrollbar-thumb:hover{background:#bbb}.dark .modal-body[data-v-26a44434]::-webkit-scrollbar-thumb{background:#404060}.dark .modal-body[data-v-26a44434]::-webkit-scrollbar-thumb:hover{background:#555}.data-mgmt[data-v-26a44434]{padding-top:14px}.data-section[data-v-26a44434]{background:var(--bg-card-alt);border-radius:12px;padding:16px;margin-bottom:14px}.dark .data-section[data-v-26a44434]{background:var(--bg-card-alt)}.data-section-header[data-v-26a44434]{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--text-secondary)}.dark .data-section-header[data-v-26a44434]{color:var(--text-secondary)}.data-section-header .section-title[data-v-26a44434]{margin:0}.data-hint[data-v-26a44434]{font-size:12px;color:#999;margin:0 0 12px;line-height:1.5}.dark .data-hint[data-v-26a44434]{color:#777}.data-action-btn[data-v-26a44434]{width:100%;padding:10px;border:none;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s}.data-action-btn[data-v-26a44434]:disabled{opacity:.5;cursor:default;transform:none}.data-img-btn[data-v-26a44434]{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;box-shadow:0 2px 8px #f973164d}.data-img-btn[data-v-26a44434]:hover:not(:disabled){box-shadow:0 4px 14px #f9731673;transform:translateY(-1px)}.data-voice-btn[data-v-26a44434]{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 8px var(--primary-alpha-30)}.data-voice-btn[data-v-26a44434]:hover:not(:disabled){box-shadow:0 4px 14px #8b5cf673;transform:translateY(-1px)}.sidebar[data-v-bbc1ca9e]{width:280px;display:flex;flex-direction:column;background:var(--bg-card);border-right:1px solid var(--border-color);flex-shrink:0}.app.dark .sidebar[data-v-bbc1ca9e]{border-color:#282840}.sidebar-header[data-v-bbc1ca9e]{padding:14px 16px 10px}.search-box[data-v-bbc1ca9e]{display:flex;align-items:center;gap:8px;background:#f4f5f9;border-radius:12px;padding:9px 14px;color:#bbb;transition:background .2s,box-shadow .2s}.search-box[data-v-bbc1ca9e]:focus-within{background:#fff;box-shadow:0 0 0 2px var(--border-focus-ring)}.app.dark .search-box[data-v-bbc1ca9e]{background:var(--bg-search);color:#5a5a72}.app.dark .search-box[data-v-bbc1ca9e]:focus-within{background:#262640;box-shadow:0 0 0 2px var(--border-focus-ring)}.search-icon[data-v-bbc1ca9e]{flex-shrink:0;transition:color .2s}.search-box:focus-within .search-icon[data-v-bbc1ca9e]{color:var(--primary)}.search-input[data-v-bbc1ca9e]{flex:1;border:none;outline:none;background:transparent;font-size:13.5px;color:#333}.app.dark .search-input[data-v-bbc1ca9e]{color:#e0e0e0}.search-input[data-v-bbc1ca9e]::placeholder{color:#c0c0c8}.app.dark .search-input[data-v-bbc1ca9e]::placeholder{color:#515170}.contact-list[data-v-bbc1ca9e]{flex:1;overflow-y:auto;overflow-x:hidden;padding:2px 8px}.contact-list[data-v-bbc1ca9e]::-webkit-scrollbar{width:4px}.contact-list[data-v-bbc1ca9e]::-webkit-scrollbar-thumb{background:#e0e0e6;border-radius:2px}.contact-item[data-v-bbc1ca9e]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer;position:relative;margin:2px 0;outline:none}.contact-item[data-v-bbc1ca9e]{transition:background .2s,transform .2s}.contact-item[data-v-bbc1ca9e]:hover{background:var(--bg-hover);transform:scale(1.02)}.contact-item[data-v-bbc1ca9e]:active{transform:scale(.98)}.contact-item.active[data-v-bbc1ca9e]{background:var(--bg-active)}.app.dark .contact-item[data-v-bbc1ca9e]:hover{background:var(--bg-hover)}.app.dark .contact-item.active[data-v-bbc1ca9e]{background:var(--bg-active)}.avatar-wrap[data-v-bbc1ca9e]{position:relative;flex-shrink:0}.dot[data-v-bbc1ca9e]{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:#ccc;border:2px solid #fff;transition:background .3s,border-color .3s}.avatar-wrap.online .dot[data-v-bbc1ca9e]{background:#22c55e}.app.dark .dot[data-v-bbc1ca9e]{border-color:#18182c}.contact-info[data-v-bbc1ca9e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.contact-top[data-v-bbc1ca9e]{display:flex;justify-content:space-between;align-items:center}.contact-name[data-v-bbc1ca9e]{font-size:14.5px;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.app.dark .contact-name[data-v-bbc1ca9e]{color:#e0e0e0}.contact-time[data-v-bbc1ca9e]{font-size:11px;color:#bbb;flex-shrink:0;margin-left:6px}.contact-bottom[data-v-bbc1ca9e]{display:flex;justify-content:space-between;align-items:center}.contact-msg[data-v-bbc1ca9e]{font-size:12px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.badge[data-v-bbc1ca9e]{background:var(--primary-gradient);color:#fff;font-size:10.5px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;flex-shrink:0;box-shadow:var(--shadow-badge)}.empty-list[data-v-bbc1ca9e]{padding:48px 20px;text-align:center;color:#ccc;font-size:14px;display:flex;flex-direction:column;align-items:center;gap:12px}.app.dark .empty-list[data-v-bbc1ca9e]{color:#555}.sidebar-footer[data-v-bbc1ca9e]{padding:10px 16px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--bg-footer)}.user-row[data-v-bbc1ca9e]{display:flex;align-items:center;gap:10px}.user-info[data-v-bbc1ca9e]{display:flex;flex-direction:column;gap:1px}.user-name[data-v-bbc1ca9e]{font-size:13.5px;font-weight:600}.user-id[data-v-bbc1ca9e],.user-meta[data-v-bbc1ca9e]{font-size:10.5px;color:var(--text-muted)}.actions[data-v-bbc1ca9e]{display:flex;gap:6px}.icon-btn[data-v-bbc1ca9e]{width:34px;height:34px;border:none;border-radius:8px;background:var(--bg-btn-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.icon-btn[data-v-bbc1ca9e]:hover{background:var(--primary-alpha-10);color:var(--primary)}.logout-btn[data-v-bbc1ca9e]:hover{background:#dc26261f;color:#dc2626}.app.dark .icon-btn[data-v-bbc1ca9e]:hover{color:var(--primary-light)}.app.dark .logout-btn[data-v-bbc1ca9e]:hover{background:#dc262626;color:#f87171}@media (max-width: 600px){.sidebar[data-v-bbc1ca9e]{width:100%;flex-shrink:1}}.chat-header[data-v-4afebf6c]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-card);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:62px}.app.dark .chat-header[data-v-4afebf6c]{border-color:#2a2a3e}.header-left[data-v-4afebf6c]{display:flex;align-items:center;gap:12px}.back-btn[data-v-4afebf6c]{display:none;width:36px;height:36px;border:none;border-radius:10px;background:#f0f2f6;color:#666;cursor:pointer;align-items:center;justify-content:center;transition:all .15s}.back-btn[data-v-4afebf6c]:hover{background:#e4e6ee}.app.dark .back-btn[data-v-4afebf6c]{background:#2a2a3e;color:#aaa}.app.dark .back-btn[data-v-4afebf6c]:hover{background:#3a3a4e}.avatar-wrap[data-v-4afebf6c]{position:relative;flex-shrink:0}.online-dot[data-v-4afebf6c]{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:#ccc;border:2px solid #fff;transition:background .3s}.avatar-wrap.online .online-dot[data-v-4afebf6c]{background:#22c55e}.app.dark .online-dot[data-v-4afebf6c]{border-color:#1a1a2e}.header-info[data-v-4afebf6c]{display:flex;flex-direction:column;gap:1px}.header-info h3[data-v-4afebf6c]{font-size:16px;font-weight:600;color:#1a1a2e}.app.dark .header-info h3[data-v-4afebf6c]{color:#e0e0e0}.status-row[data-v-4afebf6c]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-info p[data-v-4afebf6c]{font-size:12px;color:#aaa;display:flex;align-items:center;gap:4px;transition:color .3s;margin:0}.header-info p.online[data-v-4afebf6c]{color:#22c55e}.status-dot[data-v-4afebf6c]{width:6px;height:6px;border-radius:50%;background:#ccc}.header-info p.online .status-dot[data-v-4afebf6c]{background:#22c55e}.typing-indicator[data-v-4afebf6c]{font-size:11px;color:var(--primary);display:inline-flex;align-items:center;gap:5px;animation:fadeIn-4afebf6c .2s ease}.typing-dots[data-v-4afebf6c]{display:inline-flex;gap:3px;align-items:center}.typing-dots i[data-v-4afebf6c]{width:5px;height:5px;border-radius:50%;background:var(--primary);animation:bounceDot-4afebf6c 1.2s ease-in-out infinite}.typing-dots i[data-v-4afebf6c]:nth-child(2){animation-delay:.2s}.typing-dots i[data-v-4afebf6c]:nth-child(3){animation-delay:.4s}@keyframes bounceDot-4afebf6c{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@keyframes fadeIn-4afebf6c{0%{opacity:0}to{opacity:1}}.app.dark .typing-indicator[data-v-4afebf6c]{color:var(--primary-light)}.app.dark .typing-dots i[data-v-4afebf6c]{background:var(--primary-light)}.header-right[data-v-4afebf6c]{display:flex;align-items:center}.ws-status[data-v-4afebf6c]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;background:#fef3c7;color:#b45309;transition:all .3s}.ws-status.connected[data-v-4afebf6c]{background:#ecfdf5;color:#065f46}.app.dark .ws-status[data-v-4afebf6c]{background:#fbbf241f;color:#fbbf24}.app.dark .ws-status.connected[data-v-4afebf6c]{background:#22c55e1f;color:#4ade80}.ws-dot[data-v-4afebf6c]{width:7px;height:7px;border-radius:50%;background:#f59e0b;animation:pulse-4afebf6c 2s ease-in-out infinite}.ws-status.connected .ws-dot[data-v-4afebf6c]{background:#22c55e;animation:none}@keyframes pulse-4afebf6c{0%,to{opacity:1}50%{opacity:.4}}.ws-label[data-v-4afebf6c]{white-space:nowrap}.info-btn[data-v-4afebf6c]{display:none;width:36px;height:36px;border:none;border-radius:10px;background:#f0f2f6;color:#888;cursor:pointer;align-items:center;justify-content:center;transition:all .15s;margin-right:6px}.info-btn[data-v-4afebf6c]:hover{background:#e4e6ee}.app.dark .info-btn[data-v-4afebf6c]{background:#2a2a3e;color:#aaa}.app.dark .info-btn[data-v-4afebf6c]:hover{background:#3a3a4e}.avatar-wrap.clickable[data-v-4afebf6c],.header-info h3.clickable[data-v-4afebf6c]{cursor:pointer}@media (max-width: 918px){.info-btn[data-v-4afebf6c]{display:flex}}@media (max-width: 600px){.back-btn[data-v-4afebf6c]{display:flex}.chat-header[data-v-4afebf6c]{padding:10px 14px}}.message-list[data-v-0cb7d28b]{flex:1;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column}.message-list[data-v-0cb7d28b]::-webkit-scrollbar{width:4px}.message-list[data-v-0cb7d28b]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:2px}.message-list[data-v-0cb7d28b]::-webkit-scrollbar-track{background:transparent}.loading-bar[data-v-0cb7d28b]{text-align:center;padding:16px 0;font-size:13px;color:#999;display:flex;align-items:center;justify-content:center;gap:8px}.spinner[data-v-0cb7d28b]{width:16px;height:16px;border:2px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;animation:spin-history-0cb7d28b .6s linear infinite}@keyframes spin-history-0cb7d28b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-more-bar[data-v-0cb7d28b]{text-align:center;padding:12px 0 8px;font-size:12px;color:#ccc}.app.dark .no-more-bar[data-v-0cb7d28b]{color:#555}.empty-state[data-v-0cb7d28b]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:60px 20px;text-align:center}.empty-art[data-v-0cb7d28b]{margin-bottom:12px;opacity:.7}.empty-art-svg[data-v-0cb7d28b]{color:var(--primary)}.empty-title[data-v-0cb7d28b]{font-size:16px;font-weight:600;color:#888}.empty-desc[data-v-0cb7d28b]{font-size:13px;color:#bbb}.app.dark .empty-title[data-v-0cb7d28b]{color:#888}.app.dark .empty-desc[data-v-0cb7d28b]{color:#666}.error-title[data-v-0cb7d28b]{color:#f87171!important}.error-art[data-v-0cb7d28b]{opacity:.5}.retry-btn[data-v-0cb7d28b]{margin-top:12px;padding:8px 24px;border:1px solid #f87171;border-radius:20px;background:#f871710f;color:#f87171;font-size:13px;cursor:pointer;transition:all .2s}.retry-btn[data-v-0cb7d28b]:hover{background:#f8717126;transform:translateY(-1px)}.refresh-btn[data-v-0cb7d28b]{margin-top:12px;padding:8px 24px;border:1px solid var(--primary);border-radius:20px;background:var(--primary-alpha-06);color:var(--primary);font-size:13px;cursor:pointer;transition:all .2s}.refresh-btn[data-v-0cb7d28b]:hover{background:var(--primary-alpha-15);transform:translateY(-1px)}.time-sep[data-v-0cb7d28b]{text-align:center;margin:14px 0 10px}.time-sep span[data-v-0cb7d28b]{font-size:11px;color:#aaa;background:var(--primary-alpha-06);padding:4px 14px;border-radius:12px;font-weight:500;letter-spacing:.3px}.app.dark .time-sep span[data-v-0cb7d28b]{background:#ffffff0d;color:#666}.msg-item[data-v-0cb7d28b]{display:flex;flex-direction:column;margin-bottom:16px;animation:fadeInMsg-0cb7d28b .25s ease}.msg-item.me[data-v-0cb7d28b]{align-items:flex-end}@keyframes fadeInMsg-0cb7d28b{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-item-inner[data-v-0cb7d28b]{display:flex;align-items:flex-start;gap:8px;max-width:78%}.msg-item.me .msg-item-inner[data-v-0cb7d28b]{flex-direction:row-reverse}.msg-avatar[data-v-0cb7d28b],.msg-avatar-self[data-v-0cb7d28b]{flex-shrink:0;margin-top:3px}.msg-content[data-v-0cb7d28b]{display:flex;flex-direction:column;min-width:0}.msg-item.me .msg-content[data-v-0cb7d28b]{align-items:flex-end}.bubble[data-v-0cb7d28b]{padding:8px 14px;font-size:14.5px;line-height:1.55;word-break:break-word;position:relative;white-space:pre-wrap;border-radius:16px}.bubble.other[data-v-0cb7d28b]{background:var(--bg-bubble-other);color:var(--text-primary);box-shadow:0 1px 3px #0000000a}.app.dark .bubble.other[data-v-0cb7d28b]{color:#e0e0e0;box-shadow:none}.bubble.self[data-v-0cb7d28b]{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 8px var(--primary-alpha-15)}.msg-meta-row[data-v-0cb7d28b]{display:flex;align-items:center;gap:4px;margin-top:4px;padding-right:2px}.msg-time[data-v-0cb7d28b]{font-size:10.5px;color:#bbb;white-space:nowrap;margin-top:4px}.msg-item:not(.me) .msg-time[data-v-0cb7d28b]{padding-left:2px}.msg-meta-row .msg-time[data-v-0cb7d28b]{margin-top:0}.msg-item.me .msg-time[data-v-0cb7d28b]{color:#bbb}.app.dark .msg-time[data-v-0cb7d28b]{color:#6a6a82}.msg-status[data-v-0cb7d28b]{display:inline-flex;align-items:center;font-size:11px;white-space:nowrap}.msg-status.sending[data-v-0cb7d28b]{color:#f59e0b}.msg-status.sent[data-v-0cb7d28b]{color:#b0b0b8}.msg-status.delivered[data-v-0cb7d28b]{color:#888}.msg-status.read[data-v-0cb7d28b]{color:var(--primary);font-weight:500}.app.dark .msg-status.sending[data-v-0cb7d28b]{color:#fbbf24}.app.dark .msg-status.sent[data-v-0cb7d28b]{color:#6a6a80}.app.dark .msg-status.delivered[data-v-0cb7d28b]{color:#7a7a90}.app.dark .msg-status.read[data-v-0cb7d28b]{color:var(--primary)}.msg-image[data-v-0cb7d28b]{max-width:260px;max-height:320px;border-radius:14px;cursor:pointer;object-fit:cover;display:block;transition:transform .15s}.msg-image[data-v-0cb7d28b]:hover{transform:scale(1.02)}.msg-item.me .msg-image[data-v-0cb7d28b]{box-shadow:0 4px 14px #6c63ff4d}.voice-bubble[data-v-0cb7d28b]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;min-width:140px;max-width:220px}.other-voice[data-v-0cb7d28b]{background:var(--bg-bubble-other);box-shadow:0 1px 3px #0000000a}.self-voice[data-v-0cb7d28b]{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 8px var(--primary-alpha-15);flex-direction:row-reverse}.app.dark .other-voice[data-v-0cb7d28b]{background:#252538;box-shadow:none}.voice-play-btn[data-v-0cb7d28b]{width:34px;height:34px;border-radius:50%;border:none;background:var(--primary-alpha-12);color:var(--primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.voice-play-btn[data-v-0cb7d28b]:hover{background:var(--primary-alpha-15);transform:scale(1.05)}.self-voice .voice-play-btn[data-v-0cb7d28b]{background:#fff3;color:#fff}.self-voice .voice-play-btn[data-v-0cb7d28b]:hover{background:#ffffff4d}.voice-waveform[data-v-0cb7d28b]{display:flex;align-items:center;gap:2px;height:30px;flex:1}.wf-bar[data-v-0cb7d28b]{width:3px;border-radius:2px;background:var(--primary);opacity:.5;transition:height .3s;min-height:6px}.self-voice .wf-bar[data-v-0cb7d28b]{background:#ffffffb3}.voice-dur[data-v-0cb7d28b]{font-size:12px;color:#999;font-weight:500;flex-shrink:0;min-width:28px;text-align:center}.self-voice .voice-dur[data-v-0cb7d28b]{color:#fffc}.location-bubble[data-v-0cb7d28b]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;cursor:pointer;max-width:240px;transition:transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.location-bubble[data-v-0cb7d28b]:hover{transform:translateY(-1px)}.location-bubble[data-v-0cb7d28b]:active{transform:scale(.97)}.other-location[data-v-0cb7d28b]{background:var(--bg-bubble-other);box-shadow:0 1px 3px #0000000a;border-top-left-radius:4px}.loc-icon[data-v-0cb7d28b]{color:var(--primary)}.self-location .loc-icon[data-v-0cb7d28b]{color:#ffffffe6}.app.dark .other-location[data-v-0cb7d28b]{box-shadow:none}.self-location[data-v-0cb7d28b]{background:var(--primary-gradient);box-shadow:0 2px 10px var(--primary-alpha-30);border-top-right-radius:4px;flex-direction:row-reverse}.location-info[data-v-0cb7d28b]{display:flex;flex-direction:column;gap:3px}.location-label[data-v-0cb7d28b]{font-size:13px;font-weight:600;color:#333}.app.dark .other-location .location-label[data-v-0cb7d28b]{color:#ddd}.self-location .location-label[data-v-0cb7d28b]{color:#fffffff2}.location-coords[data-v-0cb7d28b]{font-size:11px;color:#888;font-family:SF Mono,Consolas,Menlo,monospace}.app.dark .other-location .location-coords[data-v-0cb7d28b]{color:#888}.self-location .location-coords[data-v-0cb7d28b]{color:#ffffffbf}.image-overlay[data-v-0cb7d28b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:20000;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:fadeIn-0cb7d28b .2s ease}@keyframes fadeIn-0cb7d28b{0%{opacity:0}to{opacity:1}}.image-full[data-v-0cb7d28b]{max-width:90vw;max-height:90vh;border-radius:12px;object-fit:contain;cursor:default}.image-close-btn[data-v-0cb7d28b]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:10px 20px;background:#ffffff26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:24px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s,transform .15s;z-index:10}.image-close-btn[data-v-0cb7d28b]:hover{background:#ffffff47;transform:translate(-50%) scale(1.05)}.image-close-btn[data-v-0cb7d28b]:active{transform:translate(-50%) scale(.95)}@media (max-width: 600px){.message-list[data-v-0cb7d28b]{padding:10px 12px}.msg-item-inner[data-v-0cb7d28b]{max-width:90%}.bubble[data-v-0cb7d28b]{font-size:14px;padding:8px 12px}.msg-image[data-v-0cb7d28b]{max-width:200px;max-height:240px}.voice-bubble[data-v-0cb7d28b]{min-width:120px;max-width:180px;gap:6px;padding:8px 10px}}.chat-input-area[data-v-8bcfdca2]{padding:0 20px 18px;flex-shrink:0;position:relative}.emoji-panel[data-v-8bcfdca2]{position:absolute;bottom:100%;left:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:0;width:370px;max-width:calc(100vw - 40px);box-shadow:0 8px 30px #0000001f;z-index:100;animation:fadeUp-8bcfdca2 .15s ease;margin-bottom:8px;overflow:hidden}@keyframes fadeUp-8bcfdca2{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.app.dark .emoji-panel[data-v-8bcfdca2]{background:#282840;border-color:#3a3a4e;box-shadow:0 8px 30px #0006}.emoji-tabs[data-v-8bcfdca2]{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #eee;padding:6px 8px 0;gap:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.emoji-tabs[data-v-8bcfdca2]::-webkit-scrollbar{display:none}.app.dark .emoji-tabs[data-v-8bcfdca2]{border-bottom-color:#3a3a4e}.emoji-tab[data-v-8bcfdca2]{border:none;background:transparent;padding:6px 12px;font-size:13px;color:#999;cursor:pointer;border-radius:8px 8px 0 0;transition:all .15s;font-family:inherit;flex-shrink:0;white-space:nowrap}.emoji-tab[data-v-8bcfdca2]:hover{color:var(--primary);background:var(--primary-alpha-06)}.emoji-tab.active[data-v-8bcfdca2]{color:var(--primary);font-weight:600;background:var(--primary-alpha-08)}.app.dark .emoji-tab[data-v-8bcfdca2]{color:#7070a0}.app.dark .emoji-tab[data-v-8bcfdca2]:hover,.app.dark .emoji-tab.active[data-v-8bcfdca2]{color:var(--primary-light)}.emoji-grid[data-v-8bcfdca2]{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;padding:10px;max-height:240px;overflow-y:auto;overflow-x:hidden}.emoji-item[data-v-8bcfdca2]{width:33px;height:33px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:8px;transition:background .12s}.emoji-item[data-v-8bcfdca2]:hover{background:#f0f2f6}.app.dark .emoji-item[data-v-8bcfdca2]:hover{background:#3a3a4e}.voice-overlay[data-v-8bcfdca2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000094;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:fadeIn-8bcfdca2 .18s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);user-select:none;-webkit-user-select:none;touch-action:none}.voice-overlay.cancelling[data-v-8bcfdca2]{background:#b4192380}.voice-action-btn[data-v-8bcfdca2]{position:fixed;z-index:10001;width:52px;height:52px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.voice-cancel-btn[data-v-8bcfdca2]{top:48px;left:28px;background:#ff4757e6;color:#fff;box-shadow:0 4px 16px #ff475773}.voice-cancel-btn[data-v-8bcfdca2]:hover{transform:scale(1.1);box-shadow:0 6px 22px #ff475799}.voice-cancel-btn[data-v-8bcfdca2]:active{transform:scale(.95)}.voice-send-btn[data-v-8bcfdca2]{top:48px;right:28px;background:#2ecc71e6;color:#fff;box-shadow:0 4px 16px #2ecc7173}.voice-send-btn[data-v-8bcfdca2]:hover{transform:scale(1.1);box-shadow:0 6px 22px #2ecc7199}.voice-send-btn[data-v-8bcfdca2]:active{transform:scale(.95)}@keyframes fadeIn-8bcfdca2{0%{opacity:0}to{opacity:1}}.voice-ring-wrap[data-v-8bcfdca2]{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.voice-ring-outer[data-v-8bcfdca2]{position:absolute;width:140px;height:140px;border-radius:50%;border:3px solid var(--primary-alpha-15);animation:ringPulse-8bcfdca2 2s ease-in-out infinite}.voice-ring-mid[data-v-8bcfdca2]{position:absolute;width:110px;height:110px;border-radius:50%;border:3px solid var(--primary-alpha-30);animation:ringPulse-8bcfdca2 2s ease-in-out .3s infinite}.voice-ring-outer.cancelling[data-v-8bcfdca2]{border-color:#ff475759;animation:ringPulseRed-8bcfdca2 .7s ease-in-out infinite}.voice-ring-mid.cancelling[data-v-8bcfdca2]{border-color:#ff47578c;animation:ringPulseRed-8bcfdca2 .7s ease-in-out .2s infinite}@keyframes ringPulse-8bcfdca2{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.12);opacity:.2}}@keyframes ringPulseRed-8bcfdca2{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:.3}}.voice-ring-inner[data-v-8bcfdca2]{position:relative;width:80px;height:80px;border-radius:50%;background:var(--primary-alpha-12);display:flex;align-items:center;justify-content:center;z-index:1;transition:background .2s;color:var(--primary)}.voice-ring-inner.cancelling[data-v-8bcfdca2]{background:#ff475726}.voice-live-wave[data-v-8bcfdca2]{display:flex;align-items:center;justify-content:center;gap:3px;height:44px}.live-bar[data-v-8bcfdca2]{width:3px;min-height:6px;border-radius:3px;background:linear-gradient(180deg,var(--primary),#a78bfa);transition:height .15s ease;animation:liveWave-8bcfdca2 .55s ease-in-out infinite alternate}@keyframes liveWave-8bcfdca2{0%{opacity:.5;transform:scaleY(.7)}to{opacity:1;transform:scaleY(1.3)}}.voice-timer[data-v-8bcfdca2]{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.timer-current[data-v-8bcfdca2]{font-size:48px;font-weight:700;color:#fffffff2;letter-spacing:3px;line-height:1}.timer-sep[data-v-8bcfdca2]{font-size:24px;color:#ffffff59}.timer-max[data-v-8bcfdca2]{font-size:20px;color:#ffffff59}.voice-timer.warning .timer-current[data-v-8bcfdca2]{color:#ff6b6b;animation:timerBlink-8bcfdca2 .6s ease-in-out infinite}@keyframes timerBlink-8bcfdca2{0%,to{opacity:1}50%{opacity:.5}}.voice-hint[data-v-8bcfdca2]{color:#ffffffb3;font-size:14px;letter-spacing:2px;-webkit-user-select:none;user-select:none;text-align:center;padding:0 20px}.input-container[data-v-8bcfdca2]{background:var(--bg-card);border-radius:16px;padding:12px 12px 8px;box-shadow:0 -1px #0000000a,0 2px 12px #0000000f,0 0 0 1px #0000000a;transition:box-shadow .2s,transform .1s}.input-container[data-v-8bcfdca2]:focus-within{box-shadow:0 -1px 0 var(--primary-alpha-08),0 4px 20px var(--primary-alpha-12),0 0 0 2px var(--primary-alpha-15)}.app.dark .input-container[data-v-8bcfdca2]{box-shadow:0 -1px #ffffff08,0 2px 12px #0003,0 0 0 1px #ffffff0d}.app.dark .input-container[data-v-8bcfdca2]:focus-within{box-shadow:0 -1px 0 var(--primary-alpha-10),0 4px 20px var(--primary-alpha-15),0 0 0 2px #8c83ff33}.textarea-row[data-v-8bcfdca2]{padding:0 0 6px}.text-input[data-v-8bcfdca2]{width:100%;border:none;outline:none;background:transparent;font-size:15px;line-height:1.5;resize:none;max-height:120px;color:#1a1a2e;font-family:inherit;padding:4px 0;transition:color .2s}.app.dark .text-input[data-v-8bcfdca2]{color:#e8e8f0}.text-input[data-v-8bcfdca2]::placeholder{color:#c0c0c8;transition:color .2s}.app.dark .text-input[data-v-8bcfdca2]::placeholder{color:#5a5a72}.actions-row[data-v-8bcfdca2]{display:flex;align-items:center;justify-content:space-between;gap:4px}.tool-group[data-v-8bcfdca2]{display:flex;align-items:center;gap:2px}.tool-btn[data-v-8bcfdca2]{width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:#aaa;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.tool-btn[data-v-8bcfdca2]:hover,.tool-btn.active[data-v-8bcfdca2]{background:#f0f2f6;color:var(--primary)}.app.dark .tool-btn[data-v-8bcfdca2]:hover,.app.dark .tool-btn.active[data-v-8bcfdca2]{background:#2a2a42;color:var(--primary-light)}.send-btn[data-v-8bcfdca2]{width:36px;height:36px;border:none;border-radius:10px;background:#e8e8f0;color:#bbb;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.send-btn.active[data-v-8bcfdca2]{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 14px var(--primary-alpha-30)}.send-btn.active[data-v-8bcfdca2]:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary));transform:scale(1.06);box-shadow:0 6px 20px var(--primary-alpha-30)}.send-btn.active[data-v-8bcfdca2]:active{transform:scale(.96)}.send-btn[data-v-8bcfdca2]:disabled{cursor:default;transform:none!important;box-shadow:none!important}.app.dark .send-btn[data-v-8bcfdca2]{background:#282840;color:#5a5a72}.image-preview-bar[data-v-8bcfdca2]{display:flex;align-items:center;gap:12px;padding:8px 20px 2px;animation:fadeUp-8bcfdca2 .15s ease}.preview-thumb-wrap[data-v-8bcfdca2]{position:relative;flex-shrink:0}.preview-thumb[data-v-8bcfdca2]{width:56px;height:56px;border-radius:10px;object-fit:cover;border:2px solid var(--primary)}.preview-remove[data-v-8bcfdca2]{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#ff4757;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:transform .15s}.preview-remove[data-v-8bcfdca2]:hover{transform:scale(1.15)}.preview-label[data-v-8bcfdca2]{font-size:13px;color:#888}.spinner-mini[data-v-8bcfdca2]{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-input-8bcfdca2 .6s linear infinite}.spinner-mini.dark-spinner[data-v-8bcfdca2]{border:2px solid var(--primary-alpha-15);border-top-color:var(--primary)}@keyframes spin-input-8bcfdca2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.location-confirm-overlay[data-v-8bcfdca2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;background:#00000073;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.location-confirm-card[data-v-8bcfdca2]{background:#fff;border-radius:18px;padding:28px 32px 22px;min-width:300px;max-width:360px;box-shadow:0 12px 40px #0000002e;text-align:center;animation:lcPopIn-8bcfdca2 .25s ease}@keyframes lcPopIn-8bcfdca2{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.app.dark .location-confirm-card[data-v-8bcfdca2]{background:#2a2a3c;box-shadow:0 12px 40px #00000073}.lc-header[data-v-8bcfdca2]{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;color:#333;margin-bottom:14px}.lc-header-icon[data-v-8bcfdca2]{color:var(--primary)}.app.dark .lc-header[data-v-8bcfdca2]{color:#ddd}.lc-coords[data-v-8bcfdca2]{background:#f5f3ff;border-radius:10px;padding:12px 16px;margin-bottom:22px;display:flex;justify-content:center;align-items:baseline;gap:2px}.app.dark .lc-coords[data-v-8bcfdca2]{background:#1e1e2e}.lc-lat[data-v-8bcfdca2],.lc-lng[data-v-8bcfdca2]{font-family:SF Mono,Consolas,Menlo,monospace;font-size:15px;font-weight:600;color:var(--primary)}.lc-sep[data-v-8bcfdca2]{color:#aaa;font-size:13px}.lc-actions[data-v-8bcfdca2]{display:flex;gap:12px}.lc-btn[data-v-8bcfdca2]{flex:1;padding:11px 0;border-radius:12px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:transform .12s,box-shadow .12s}.lc-btn[data-v-8bcfdca2]:active{transform:scale(.96)}.lc-cancel[data-v-8bcfdca2]{background:#f0f0f0;color:#666}.app.dark .lc-cancel[data-v-8bcfdca2]{background:#3a3a4e;color:#aaa}.lc-cancel[data-v-8bcfdca2]:hover{background:#e4e4e4}.app.dark .lc-cancel[data-v-8bcfdca2]:hover{background:#4a4a5e}.lc-confirm[data-v-8bcfdca2]{background:var(--primary-gradient);color:#fff;box-shadow:0 3px 14px var(--primary-alpha-30)}.lc-confirm[data-v-8bcfdca2]:hover{box-shadow:0 5px 18px var(--primary-alpha-30)}@media (max-width: 600px){.chat-input-area[data-v-8bcfdca2]{padding:0 12px 12px}.emoji-panel[data-v-8bcfdca2]{left:12px;width:calc(100vw - 24px);max-width:370px}.emoji-grid[data-v-8bcfdca2]{grid-template-columns:repeat(8,1fr)}.input-container[data-v-8bcfdca2]{border-radius:14px;padding:10px 8px 6px}.tool-btn[data-v-8bcfdca2]{width:32px;height:32px}.send-btn[data-v-8bcfdca2]{width:34px;height:34px;border-radius:10px}.text-input[data-v-8bcfdca2]{font-size:14px}.voice-ring-wrap[data-v-8bcfdca2],.voice-ring-outer[data-v-8bcfdca2]{width:120px;height:120px}.voice-ring-mid[data-v-8bcfdca2]{width:94px;height:94px}.voice-ring-inner[data-v-8bcfdca2]{width:68px;height:68px}.timer-current[data-v-8bcfdca2]{font-size:42px}.voice-live-wave[data-v-8bcfdca2]{height:38px}.voice-hint[data-v-8bcfdca2]{font-size:13px}}.detail-panel[data-v-8f909448]{width:290px;background:var(--bg-card);border-left:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:0;flex-shrink:0}.profile-section[data-v-8f909448]{display:flex;flex-direction:column;align-items:center;padding:32px 20px 24px;width:100%;border-bottom:1px solid var(--border-color)}.profile-avatar-wrap[data-v-8f909448]{position:relative;margin-bottom:14px}.profile-avatar-wrap[data-v-8f909448] .avatar-icon{box-shadow:0 4px 20px #0000000f}.online-ring[data-v-8f909448]{position:absolute;bottom:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#ccc;border:3px solid var(--bg-card);transition:background .3s}.profile-avatar-wrap.online .online-ring[data-v-8f909448]{background:#22c55e}.profile-section h2[data-v-8f909448]{font-size:17px;font-weight:700;margin-bottom:2px}.profile-username[data-v-8f909448]{font-size:13px;color:var(--text-muted);margin-bottom:10px}.status-chip[data-v-8f909448]{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:500;background:var(--bg-btn-secondary);color:var(--text-muted);transition:all .3s}.status-chip.online[data-v-8f909448]{background:#22c55e1a;color:#065f46}.app.dark .status-chip.online[data-v-8f909448]{background:#22c55e1f;color:#4ade80}.chip-dot[data-v-8f909448]{width:7px;height:7px;border-radius:50%;background:#ccc}.status-chip.online .chip-dot[data-v-8f909448]{background:#22c55e}.info-section[data-v-8f909448]{width:100%;padding:20px}.info-card[data-v-8f909448]{background:var(--bg-card-alt);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:14px}.card-title[data-v-8f909448]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.info-row[data-v-8f909448]{display:flex;justify-content:space-between;align-items:center}.info-label[data-v-8f909448]{font-size:13px;color:var(--text-muted)}.info-value[data-v-8f909448]{font-size:13px;color:var(--text-secondary);font-weight:500;font-family:SF Mono,Fira Code,Consolas,monospace}.action-section[data-v-8f909448]{flex:1;width:100%;padding:0 20px 24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px}.action-btn[data-v-8f909448]{width:100%;padding:10px 16px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-btn-secondary);color:var(--text-secondary);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s}.action-btn[data-v-8f909448]:hover{background:var(--primary-alpha-08);color:var(--primary);border-color:var(--primary-alpha-20)}.action-btn.danger[data-v-8f909448]{border-color:#dc262626;background:var(--bg-card);color:#dc2626}.action-btn.danger[data-v-8f909448]:hover{background:#dc262614;border-color:#dc262640;color:#b91c1c}.action-btn[data-v-8f909448]:disabled{opacity:.5;cursor:default}.action-hint[data-v-8f909448]{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.app.dark .action-btn[data-v-8f909448]:hover{background:var(--primary-alpha-12);color:var(--primary-light)}.app.dark .action-btn.danger[data-v-8f909448]{border-color:#dc262640;background:transparent;color:#f87171}.app.dark .action-btn.danger[data-v-8f909448]:hover{background:#dc26261f;color:#ef4444;border-color:#dc262659}@media (max-width: 918px){.detail-panel[data-v-8f909448]{display:none}}.chat-layout[data-v-5c0b607a]{flex:1;display:flex;height:100%;overflow:hidden}.chat-center[data-v-5c0b607a]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-chat);position:relative}.app.dark .chat-center[data-v-5c0b607a]{background:#12121f}.chat-center.mobile-full[data-v-5c0b607a]{flex:1;width:100%}.center-empty[data-v-5c0b607a]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;padding:40px;position:relative;overflow:hidden}.empty-visual[data-v-5c0b607a]{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.bg-circle[data-v-5c0b607a]{position:absolute;border-radius:50%;animation:floatCircle-5c0b607a 6s ease-in-out infinite}.bg-circle.c1[data-v-5c0b607a]{width:120px;height:120px;background:var(--primary-alpha-06);animation-delay:0s}.bg-circle.c2[data-v-5c0b607a]{width:80px;height:80px;background:var(--primary-alpha-08);top:20px;right:10px;animation-delay:-2s}.bg-circle.c3[data-v-5c0b607a]{width:60px;height:60px;background:var(--primary-alpha-04);bottom:30px;left:20px;animation-delay:-4s}@keyframes floatCircle-5c0b607a{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}.app.dark .bg-circle.c1[data-v-5c0b607a]{background:var(--primary-alpha-08)}.app.dark .bg-circle.c2[data-v-5c0b607a]{background:var(--primary-alpha-10)}.app.dark .bg-circle.c3[data-v-5c0b607a]{background:var(--primary-alpha-06)}.empty-icon-wrap[data-v-5c0b607a]{position:relative;z-index:1;animation:floatIcon-5c0b607a 4s ease-in-out infinite;color:var(--primary)}@keyframes floatIcon-5c0b607a{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.empty-title[data-v-5c0b607a]{font-size:26px;font-weight:700;color:#3a3a4e;margin-bottom:6px;letter-spacing:1px}.app.dark .empty-title[data-v-5c0b607a]{color:#b0b0c0}.empty-sub[data-v-5c0b607a]{font-size:14px;color:#aaa;margin-bottom:32px}.app.dark .empty-sub[data-v-5c0b607a]{color:#666}.empty-features[data-v-5c0b607a]{display:flex;gap:24px}.feature-item[data-v-5c0b607a]{display:flex;align-items:center;gap:6px;font-size:12px;color:#999;padding:8px 16px;background:var(--primary-alpha-04);border-radius:20px;transition:all .2s}.feature-item svg[data-v-5c0b607a]{color:var(--primary)}.feature-item[data-v-5c0b607a]:hover{background:var(--primary-alpha-08);transform:translateY(-1px)}.app.dark .feature-item[data-v-5c0b607a]{color:#777;background:var(--primary-alpha-06)}.app.dark .feature-item[data-v-5c0b607a]:hover{background:var(--primary-alpha-12)}.info-overlay[data-v-5c0b607a]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000004d;display:flex;align-items:flex-end;justify-content:center}.info-panel[data-v-5c0b607a]{width:100%;max-width:500px;max-height:85vh;background:var(--bg-card);border-radius:20px 20px 0 0;box-shadow:0 -4px 30px #0000001a;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:0 20px 32px;position:relative}.sheet-handle[data-v-5c0b607a]{width:40px;height:4px;border-radius:2px;background:#d0d4da;margin:10px auto 0}.app.dark .info-overlay[data-v-5c0b607a]{background:#0000008c}.app.dark .sheet-handle[data-v-5c0b607a]{background:#3a3a4e}.info-close[data-v-5c0b607a]{position:absolute;top:12px;right:14px;width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-btn-secondary);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.info-close[data-v-5c0b607a]:hover{background:var(--primary-alpha-10);color:var(--primary)}.app.dark .info-close[data-v-5c0b607a]:hover{color:var(--primary-light)}.info-profile[data-v-5c0b607a]{display:flex;flex-direction:column;align-items:center;padding:16px 0 20px;width:100%}.info-avatar-wrap[data-v-5c0b607a]{position:relative;margin-bottom:12px}.info-online-ring[data-v-5c0b607a]{position:absolute;bottom:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#ccc;border:3px solid var(--bg-card);transition:background .3s}.info-avatar-wrap.online .info-online-ring[data-v-5c0b607a]{background:#22c55e}.info-profile h2[data-v-5c0b607a]{font-size:18px;font-weight:700;margin-bottom:2px}.info-username[data-v-5c0b607a]{font-size:13px;color:var(--text-muted);margin-bottom:10px}.info-status-chip[data-v-5c0b607a]{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:12px;font-weight:500;background:var(--bg-btn-secondary);color:var(--text-muted);transition:all .3s}.info-status-chip.online[data-v-5c0b607a]{background:#22c55e1a;color:#065f46}.info-chip-dot[data-v-5c0b607a]{width:7px;height:7px;border-radius:50%;background:#ccc}.info-status-chip.online .info-chip-dot[data-v-5c0b607a]{background:#22c55e}.app.dark .info-status-chip.online[data-v-5c0b607a]{background:#22c55e1f;color:#4ade80}.info-card-section[data-v-5c0b607a]{width:100%;padding-bottom:16px}.info-card[data-v-5c0b607a]{background:var(--bg-card-alt);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:14px}.info-card-title[data-v-5c0b607a]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin:0}.info-row[data-v-5c0b607a]{display:flex;justify-content:space-between;align-items:center}.info-label[data-v-5c0b607a]{font-size:13px;color:var(--text-muted)}.info-value[data-v-5c0b607a]{font-size:13px;color:var(--text-secondary);font-weight:500;font-family:SF Mono,Fira Code,Consolas,monospace}.info-action-section[data-v-5c0b607a]{width:100%}.info-action-btn[data-v-5c0b607a]{width:100%;padding:10px 16px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-btn-secondary);color:var(--text-secondary);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s}.info-action-btn[data-v-5c0b607a]:hover{background:var(--primary-alpha-08);color:var(--primary);border-color:var(--primary-alpha-20)}.info-action-btn.danger[data-v-5c0b607a]{border-color:#dc262626;background:var(--bg-card);color:#dc2626}.info-action-btn.danger[data-v-5c0b607a]:hover{background:#dc262614;border-color:#dc262640;color:#b91c1c}.info-action-btn[data-v-5c0b607a]:disabled{opacity:.5;cursor:default}.app.dark .info-action-btn[data-v-5c0b607a]:hover{background:var(--primary-alpha-12);color:var(--primary-light)}.app.dark .info-action-btn.danger[data-v-5c0b607a]{border-color:#dc262640;background:transparent;color:#f87171}.app.dark .info-action-btn.danger[data-v-5c0b607a]:hover{background:#dc26261f;color:#ef4444;border-color:#dc262659}.sheet-enter-active[data-v-5c0b607a]{transition:opacity .25s ease}.sheet-leave-active[data-v-5c0b607a]{transition:opacity .2s ease}.sheet-enter-from[data-v-5c0b607a],.sheet-leave-to[data-v-5c0b607a]{opacity:0}.sheet-enter-active .info-panel[data-v-5c0b607a]{animation:sheetSlideUp-5c0b607a .3s ease}.sheet-leave-active .info-panel[data-v-5c0b607a]{animation:sheetSlideDown-5c0b607a .2s ease forwards}@keyframes sheetSlideUp-5c0b607a{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheetSlideDown-5c0b607a{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (max-width: 600px){.sidebar.mobile-full[data-v-5c0b607a]{width:100%;flex-shrink:1}.chat-center[data-v-5c0b607a]:not(.mobile-full){display:none}.empty-features[data-v-5c0b607a]{flex-direction:column;gap:8px}.empty-visual[data-v-5c0b607a]{width:140px;height:140px}.empty-title[data-v-5c0b607a]{font-size:22px}}.particle-canvas[data-v-6f0e93a8]{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:-1}:root{--primary: #6C63FF;--primary-light: #8B83FF;--primary-dark: #5A52E0;--primary-gradient: linear-gradient(135deg, #6C63FF, #7B73FF);--primary-alpha-04: rgba(108, 99, 255, .04);--primary-alpha-06: rgba(108, 99, 255, .06);--primary-alpha-08: rgba(108, 99, 255, .08);--primary-alpha-10: rgba(108, 99, 255, .1);--primary-alpha-12: rgba(108, 99, 255, .12);--primary-alpha-15: rgba(108, 99, 255, .15);--primary-alpha-30: rgba(108, 99, 255, .3);--bg-page: #F5F6FA;--bg-card: #fff;--bg-chat: #f4f5f9;--bg-input: #fafbfc;--bg-search: #f4f5f9;--bg-footer: #fafbfc;--bg-card-alt: color-mix(in srgb, #f8f9fc 96%, var(--primary));--bg-hover: #f4f5f9;--bg-active: rgba(108, 99, 255, .08);--bg-active-solid: #f0f2f6;--bg-bubble-other: #fff;--bg-input-focus: #fff;--bg-btn-secondary: color-mix(in srgb, #f0f2f6 97%, var(--primary));--border-color: #e8e8ec;--border-input: #e4e6f0;--border-input-focus: rgba(108, 99, 255, .35);--border-focus-ring: rgba(108, 99, 255, .12);--text-primary: #1a1a2e;--text-secondary: #3a3a4e;--text-tertiary: #666;--text-muted: #999;--text-placeholder: #bbb;--text-very-muted: #aaa;--text-extra-muted: #c0c0c8;--success: #22c55e;--success-bg: #ecfdf5;--success-text: #065f46;--error: #dc2626;--error-bg: #fee2e2;--error-border: #fecaca;--error-hover-bg: #fef2f2;--error-hover-text: #b91c1c;--offline: #ccc;--scrollbar-thumb: #c0c4cc;--scrollbar-thin: #e0e0e6;--shadow-card: 0 8px 40px rgba(0, 0, 0, .12);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .2);--shadow-badge: 0 2px 6px rgba(108, 99, 255, .3);--glass-opacity: 0;--glass-blur: 0px;--glass-bg-overlay: transparent}body.dark{--bg-page: #0f0f1a;--bg-card: #18182c;--bg-chat: #12121f;--bg-input: #2a2a3e;--bg-search: #202038;--bg-footer: #141426;--bg-card-alt: color-mix(in srgb, #202038 93%, var(--primary));--bg-hover: #222238;--bg-active: rgba(108, 99, 255, .12);--bg-active-solid: #2a2a3e;--bg-bubble-other: #252538;--bg-input-focus: #262640;--bg-btn-secondary: color-mix(in srgb, #2a2a3e 96%, var(--primary));--border-color: #282840;--border-input: #3a3a4e;--border-input-focus: rgba(108, 99, 255, .4);--border-focus-ring: rgba(108, 99, 255, .15);--text-primary: #e0e0e0;--text-secondary: #b0b0c0;--text-tertiary: #888;--text-muted: #666;--text-placeholder: #515170;--text-very-muted: #777;--text-extra-muted: #5a5a72;--success: #4ade80;--success-bg: rgba(34, 197, 94, .12);--success-text: #4ade80;--error: #f87171;--error-bg: rgba(220, 38, 38, .12);--error-border: rgba(220, 38, 38, .25);--error-hover-bg: rgba(220, 38, 38, .15);--error-hover-text: #f87171;--offline: #444;--scrollbar-thumb: #404060;--scrollbar-thin: #404060;--shadow-card: 0 8px 40px rgba(0, 0, 0, .3);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .5);--shadow-badge: 0 2px 6px rgba(108, 99, 255, .35)}body.dark:not([data-theme]){--bg-page: color-mix(in srgb, #0f0f1a 93%, #6C63FF);--bg-chat: color-mix(in srgb, #12121f 93%, #6C63FF);--bg-card: color-mix(in srgb, #18182c 93%, #6C63FF);--bg-card-alt: color-mix(in srgb, #202038 93%, #6C63FF);--bg-input: color-mix(in srgb, #2a2a3e 96%, #6C63FF);--bg-search: color-mix(in srgb, #202038 94%, #6C63FF);--bg-footer: color-mix(in srgb, #141426 93%, #6C63FF);--bg-hover: color-mix(in srgb, #222238 94%, #6C63FF);--bg-active-solid: color-mix(in srgb, #2a2a3e 96%, #6C63FF);--bg-bubble-other: color-mix(in srgb, #252538 94%, #6C63FF);--bg-btn-secondary: color-mix(in srgb, #2a2a3e 96%, #6C63FF);--bg-input-focus: color-mix(in srgb, #262640 94%, #6C63FF);--border-color: color-mix(in srgb, #282840 96%, #6C63FF);--border-input: color-mix(in srgb, #3a3a4e 96%, #6C63FF);--shadow-card: 0 8px 40px rgba(108, 99, 255, .08)}body:not(.dark):not([data-theme]){--bg-page: color-mix(in srgb, #F5F6FA 93%, #6C63FF);--bg-chat: color-mix(in srgb, #f4f5f9 95%, #6C63FF);--bg-card: #fff;--bg-card-alt: color-mix(in srgb, #f8f9fc 96%, #6C63FF);--bg-search: color-mix(in srgb, #f4f5f9 95%, #6C63FF);--bg-input: color-mix(in srgb, #fafbfc 97%, #6C63FF);--bg-footer: color-mix(in srgb, #fafbfc 96%, #6C63FF);--bg-hover: color-mix(in srgb, #f4f5f9 96%, #6C63FF);--bg-bubble-other: color-mix(in srgb, #fff 96%, #6C63FF);--bg-btn-secondary: color-mix(in srgb, #f0f2f6 96%, #6C63FF);--bg-active-solid: color-mix(in srgb, #f0f2f6 96%, #6C63FF);--border-color: color-mix(in srgb, #e8e8ec 97%, #6C63FF);--border-input: color-mix(in srgb, #e4e6f0 97%, #6C63FF);--glass-bg: color-mix(in srgb, var(--bg-card) 90%, transparent);--shadow-card: 0 8px 40px rgba(108, 99, 255, .05)}body.dark[data-theme]{--bg-page: color-mix(in srgb, #0f0f1a 93%, var(--primary));--bg-chat: color-mix(in srgb, #12121f 93%, var(--primary));--bg-card: color-mix(in srgb, #18182c 93%, var(--primary));--bg-card-alt: color-mix(in srgb, #202038 93%, var(--primary));--bg-input: color-mix(in srgb, #2a2a3e 96%, var(--primary));--bg-search: color-mix(in srgb, #202038 94%, var(--primary));--bg-footer: color-mix(in srgb, #141426 93%, var(--primary));--bg-hover: color-mix(in srgb, #222238 94%, var(--primary));--bg-active-solid: color-mix(in srgb, #2a2a3e 96%, var(--primary));--bg-bubble-other: color-mix(in srgb, #252538 94%, var(--primary));--bg-btn-secondary: color-mix(in srgb, #2a2a3e 96%, var(--primary));--bg-input-focus: color-mix(in srgb, #262640 94%, var(--primary));--border-color: color-mix(in srgb, #282840 96%, var(--primary));--border-input: color-mix(in srgb, #3a3a4e 96%, var(--primary));--shadow-card: 0 8px 40px var(--primary-alpha-08)}body[data-theme]:not(.dark){--bg-page: color-mix(in srgb, #F5F6FA 93%, var(--primary));--bg-chat: color-mix(in srgb, #f4f5f9 95%, var(--primary));--bg-card: #fff;--bg-card-alt: color-mix(in srgb, #f8f9fc 96%, var(--primary));--bg-search: color-mix(in srgb, #f4f5f9 95%, var(--primary));--bg-input: color-mix(in srgb, #fafbfc 97%, var(--primary));--bg-footer: color-mix(in srgb, #fafbfc 96%, var(--primary));--bg-hover: color-mix(in srgb, #f4f5f9 96%, var(--primary));--bg-bubble-other: color-mix(in srgb, #fff 96%, var(--primary));--bg-btn-secondary: color-mix(in srgb, #f0f2f6 96%, var(--primary));--bg-active-solid: color-mix(in srgb, #f0f2f6 96%, var(--primary));--border-color: color-mix(in srgb, #e8e8ec 97%, var(--primary));--border-input: color-mix(in srgb, #e4e6f0 97%, var(--primary));--glass-bg: color-mix(in srgb, var(--bg-card) 90%, transparent);--shadow-card: 0 8px 40px var(--primary-alpha-05)}body[data-theme=blue]{--primary: #3B82F6;--primary-light: #60A5FA;--primary-dark: #2563EB;--primary-gradient: linear-gradient(135deg, #3B82F6, #60A5FA);--primary-alpha-04: rgba(59, 130, 246, .04);--primary-alpha-06: rgba(59, 130, 246, .06);--primary-alpha-08: rgba(59, 130, 246, .08);--primary-alpha-10: rgba(59, 130, 246, .1);--primary-alpha-12: rgba(59, 130, 246, .12);--primary-alpha-15: rgba(59, 130, 246, .15);--primary-alpha-30: rgba(59, 130, 246, .3);--bg-active: rgba(59, 130, 246, .08);--border-input-focus: rgba(59, 130, 246, .35);--border-focus-ring: rgba(59, 130, 246, .12);--shadow-badge: 0 2px 6px rgba(59, 130, 246, .3)}body.dark[data-theme=blue]{--bg-active: rgba(59, 130, 246, .12);--border-input-focus: rgba(59, 130, 246, .4);--border-focus-ring: rgba(59, 130, 246, .15);--shadow-badge: 0 2px 6px rgba(59, 130, 246, .35)}body[data-theme=emerald]{--primary: #10B981;--primary-light: #34D399;--primary-dark: #059669;--primary-gradient: linear-gradient(135deg, #10B981, #34D399);--primary-alpha-04: rgba(16, 185, 129, .04);--primary-alpha-06: rgba(16, 185, 129, .06);--primary-alpha-08: rgba(16, 185, 129, .08);--primary-alpha-10: rgba(16, 185, 129, .1);--primary-alpha-12: rgba(16, 185, 129, .12);--primary-alpha-15: rgba(16, 185, 129, .15);--primary-alpha-30: rgba(16, 185, 129, .3);--bg-active: rgba(16, 185, 129, .08);--border-input-focus: rgba(16, 185, 129, .35);--border-focus-ring: rgba(16, 185, 129, .12);--shadow-badge: 0 2px 6px rgba(16, 185, 129, .3)}body.dark[data-theme=emerald]{--bg-active: rgba(16, 185, 129, .12);--border-input-focus: rgba(16, 185, 129, .4);--border-focus-ring: rgba(16, 185, 129, .15);--shadow-badge: 0 2px 6px rgba(16, 185, 129, .35)}body[data-theme=orange]{--primary: #F59E0B;--primary-light: #FBBF24;--primary-dark: #D97706;--primary-gradient: linear-gradient(135deg, #F59E0B, #FBBF24);--primary-alpha-04: rgba(245, 158, 11, .04);--primary-alpha-06: rgba(245, 158, 11, .06);--primary-alpha-08: rgba(245, 158, 11, .08);--primary-alpha-10: rgba(245, 158, 11, .1);--primary-alpha-12: rgba(245, 158, 11, .12);--primary-alpha-15: rgba(245, 158, 11, .15);--primary-alpha-30: rgba(245, 158, 11, .3);--bg-active: rgba(245, 158, 11, .08);--border-input-focus: rgba(245, 158, 11, .35);--border-focus-ring: rgba(245, 158, 11, .12);--shadow-badge: 0 2px 6px rgba(245, 158, 11, .3)}body.dark[data-theme=orange]{--bg-active: rgba(245, 158, 11, .12);--border-input-focus: rgba(245, 158, 11, .4);--border-focus-ring: rgba(245, 158, 11, .15);--shadow-badge: 0 2px 6px rgba(245, 158, 11, .35)}body[data-theme=rose]{--primary: #EC4899;--primary-light: #F472B6;--primary-dark: #DB2777;--primary-gradient: linear-gradient(135deg, #EC4899, #F472B6);--primary-alpha-04: rgba(236, 72, 153, .04);--primary-alpha-06: rgba(236, 72, 153, .06);--primary-alpha-08: rgba(236, 72, 153, .08);--primary-alpha-10: rgba(236, 72, 153, .1);--primary-alpha-12: rgba(236, 72, 153, .12);--primary-alpha-15: rgba(236, 72, 153, .15);--primary-alpha-30: rgba(236, 72, 153, .3);--bg-active: rgba(236, 72, 153, .08);--border-input-focus: rgba(236, 72, 153, .35);--border-focus-ring: rgba(236, 72, 153, .12);--shadow-badge: 0 2px 6px rgba(236, 72, 153, .3)}body.dark[data-theme=rose]{--bg-active: rgba(236, 72, 153, .12);--border-input-focus: rgba(236, 72, 153, .4);--border-focus-ring: rgba(236, 72, 153, .15);--shadow-badge: 0 2px 6px rgba(236, 72, 153, .35)}body[data-theme=teal]{--primary: #14B8A6;--primary-light: #2DD4BF;--primary-dark: #0D9488;--primary-gradient: linear-gradient(135deg, #14B8A6, #2DD4BF);--primary-alpha-04: rgba(20, 184, 166, .04);--primary-alpha-06: rgba(20, 184, 166, .06);--primary-alpha-08: rgba(20, 184, 166, .08);--primary-alpha-10: rgba(20, 184, 166, .1);--primary-alpha-12: rgba(20, 184, 166, .12);--primary-alpha-15: rgba(20, 184, 166, .15);--primary-alpha-30: rgba(20, 184, 166, .3);--bg-active: rgba(20, 184, 166, .08);--border-input-focus: rgba(20, 184, 166, .35);--border-focus-ring: rgba(20, 184, 166, .12);--shadow-badge: 0 2px 6px rgba(20, 184, 166, .3)}body.dark[data-theme=teal]{--bg-active: rgba(20, 184, 166, .12);--border-input-focus: rgba(20, 184, 166, .4);--border-focus-ring: rgba(20, 184, 166, .15);--shadow-badge: 0 2px 6px rgba(20, 184, 166, .35)}body[data-theme=cyan]{--primary: #06B6D4;--primary-light: #22D3EE;--primary-dark: #0891B2;--primary-gradient: linear-gradient(135deg, #06B6D4, #22D3EE);--primary-alpha-04: rgba(6, 182, 212, .04);--primary-alpha-06: rgba(6, 182, 212, .06);--primary-alpha-08: rgba(6, 182, 212, .08);--primary-alpha-10: rgba(6, 182, 212, .1);--primary-alpha-12: rgba(6, 182, 212, .12);--primary-alpha-15: rgba(6, 182, 212, .15);--primary-alpha-30: rgba(6, 182, 212, .3);--bg-active: rgba(6, 182, 212, .08);--border-input-focus: rgba(6, 182, 212, .35);--border-focus-ring: rgba(6, 182, 212, .12);--shadow-badge: 0 2px 6px rgba(6, 182, 212, .3)}body.dark[data-theme=cyan]{--bg-active: rgba(6, 182, 212, .12);--border-input-focus: rgba(6, 182, 212, .4);--border-focus-ring: rgba(6, 182, 212, .15);--shadow-badge: 0 2px 6px rgba(6, 182, 212, .35)}body[data-theme=ruby]{--primary: #EF4444;--primary-light: #F87171;--primary-dark: #DC2626;--primary-gradient: linear-gradient(135deg, #EF4444, #F87171);--primary-alpha-04: rgba(239, 68, 68, .04);--primary-alpha-06: rgba(239, 68, 68, .06);--primary-alpha-08: rgba(239, 68, 68, .08);--primary-alpha-10: rgba(239, 68, 68, .1);--primary-alpha-12: rgba(239, 68, 68, .12);--primary-alpha-15: rgba(239, 68, 68, .15);--primary-alpha-30: rgba(239, 68, 68, .3);--bg-active: rgba(239, 68, 68, .08);--border-input-focus: rgba(239, 68, 68, .35);--border-focus-ring: rgba(239, 68, 68, .12);--shadow-badge: 0 2px 6px rgba(239, 68, 68, .3)}body.dark[data-theme=ruby]{--bg-active: rgba(239, 68, 68, .12);--border-input-focus: rgba(239, 68, 68, .4);--border-focus-ring: rgba(239, 68, 68, .15);--shadow-badge: 0 2px 6px rgba(239, 68, 68, .35)}.app[data-glass]{--glass-blur: 12px;--glass-bg: color-mix(in srgb, var(--bg-card) 75%, transparent)}.app[data-glass] .sidebar,.app[data-glass] .chat-header,.app[data-glass] .bubble.other,.app[data-glass] .voice-bubble.other-voice,.app[data-glass] .location-bubble.other-location,.app[data-glass] .detail-panel,.app[data-glass] .info-panel,.app[data-glass] .modal-card,.app[data-glass] .contact-item:hover,.app[data-glass] .search-box,.modal-overlay[data-glass] .modal-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(120%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(120%);border:1px solid color-mix(in srgb,var(--border-color) 40%,transparent);transition:background .3s,backdrop-filter .3s,border-color .3s}.app.dark[data-glass] .sidebar,.app.dark[data-glass] .chat-header,.app.dark[data-glass] .bubble.other,.app.dark[data-glass] .voice-bubble.other-voice,.app.dark[data-glass] .location-bubble.other-location,.app.dark[data-glass] .detail-panel,.app.dark[data-glass] .info-panel,.app.dark[data-glass] .modal-card,.app.dark[data-glass] .contact-item:hover,.app.dark[data-glass] .search-box,.modal-overlay.dark[data-glass] .modal-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(120%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(120%);border:1px solid color-mix(in srgb,var(--border-color) 25%,transparent)}.modal-overlay[data-glass]{--glass-blur: 12px;--glass-bg: color-mix(in srgb, var(--bg-card) 75%, transparent)}.app.animate-glow{background:radial-gradient(ellipse at 20% 50%,var(--primary-alpha-06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,var(--primary-alpha-08) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,var(--primary-alpha-04) 0%,transparent 50%),radial-gradient(ellipse at 70% 60%,var(--primary-alpha-06) 0%,transparent 40%);background-attachment:fixed;background-size:200% 200%;animation:bgFloat 20s ease-in-out infinite,bgPulse 10s ease-in-out infinite}.app.dark.animate-glow{background:radial-gradient(ellipse at 20% 50%,var(--primary-alpha-10) 0%,transparent 50%),radial-gradient(ellipse at 80% 30%,var(--primary-alpha-12) 0%,transparent 45%),radial-gradient(ellipse at 40% 80%,var(--primary-alpha-08) 0%,transparent 50%),radial-gradient(ellipse at 60% 10%,var(--primary-alpha-10) 0%,transparent 40%);background-attachment:fixed;background-size:200% 200%}@keyframes bgFloat{0%{background-position:0% 50%,100% 0%,50% 100%,80% 20%}25%{background-position:50% 0%,100% 50%,0% 80%,20% 60%}50%{background-position:100% 50%,50% 100%,50% 20%,80% 80%}75%{background-position:50% 100%,0% 50%,100% 60%,20% 20%}to{background-position:0% 50%,100% 0%,50% 100%,80% 20%}}@keyframes bgPulse{0%,to{background-color:color-mix(in srgb,var(--bg-page) 96%,var(--primary))}50%{background-color:var(--bg-page)}}.app.animate-on .contact-item{transition:background .3s,transform .3s,box-shadow .3s}.app.animate-on .contact-item:hover{background:var(--primary-alpha-08);transform:scale(1.02);box-shadow:0 0 12px var(--primary-alpha-15),inset 0 0 20px var(--primary-alpha-06)}.app.animate-on .msg-item{animation:msgFadeIn .4s ease both}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app.animate-on .bubble,.app.animate-on .voice-bubble,.app.animate-on .location-bubble,.app.animate-on .msg-image{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.app.animate-on .bubble:hover,.app.animate-on .voice-bubble:hover,.app.animate-on .location-bubble:hover,.app.animate-on .msg-image:hover{transform:scale(1.03) translateY(-2px);box-shadow:0 6px 20px #0000001a}.app.animate-glow .bubble.self,.app.animate-glow .self-voice,.app.animate-glow .self-location,.app.animate-glow .self-image{position:relative;overflow:hidden}.app.animate-glow .bubble.self:after,.app.animate-glow .self-voice:after,.app.animate-glow .self-location:after,.app.animate-glow .self-image:after{content:"";position:absolute;top:-50%;left:-50%;width:50%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:rotate(25deg);animation:glossSweep 3s ease-in-out infinite}@keyframes glossSweep{0%{left:-50%}to{left:150%}}.app.animate-on .avatar,.app.animate-on .chat-avatar{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.app.animate-on .avatar:hover,.app.animate-on .chat-avatar:hover{transform:scale(1.12) rotate(6deg);box-shadow:0 0 0 3px var(--primary-alpha-30),0 4px 16px var(--primary-alpha-20)}.app.animate-on .online-dot-mini.on,.app.animate-on .status-dot.online{animation:dotBreathe 2s ease-in-out infinite}@keyframes dotBreathe{0%,to{box-shadow:0 0 0 0 var(--success)}50%{box-shadow:0 0 0 6px transparent}}.app.animate-on .unread-badge{animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}10%{transform:scale(1.15)}20%{transform:scale(1)}}.app.animate-glow .input-area{position:relative}.app.animate-glow .input-area:before{content:"";position:absolute;top:-2px;left:10%;right:10%;height:2px;border-radius:2px;background:var(--primary-gradient);animation:inputGlow 3s ease-in-out infinite;opacity:0}@keyframes inputGlow{0%,to{opacity:0;left:10%;right:10%}50%{opacity:.6;left:30%;right:30%}}.app.animate-on .btn,.app.animate-on .submit-btn,.app.animate-on .modal-submit{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.app.animate-on .btn:hover,.app.animate-on .submit-btn:hover,.app.animate-on .modal-submit:hover{transform:translateY(-3px);box-shadow:0 8px 25px var(--primary-alpha-30)}.app.animate-on .btn:active,.app.animate-on .submit-btn:active,.app.animate-on .modal-submit:active{transform:translateY(-1px) scale(.96)}.app.animate-on .tab-btn{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.app.animate-on .tab-btn:hover{transform:translateY(-2px);color:var(--primary)}.app.animate-on .tab-btn.active{animation:tabPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes tabPop{0%{transform:scale(.9)}60%{transform:scale(1.08)}to{transform:scale(1)}}.app.animate-on .emoji-item{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.app.animate-on .emoji-item:hover{transform:scale(1.35) rotate(5deg)}.app.animate-glow .input-container:focus-within{box-shadow:0 0 0 4px var(--border-focus-ring),0 0 20px var(--primary-alpha-10);transition:box-shadow .4s ease}.app.animate-on .theme-color-btn{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.app.animate-on .theme-color-btn:hover{transform:scale(1.2) rotate(-5deg);box-shadow:0 6px 20px #0000002e}.app.animate-on .voice-playing .voice-bar{animation:voiceWave .6s ease-in-out infinite}.app.animate-on .voice-playing .voice-bar:nth-child(2){animation-delay:.1s}.app.animate-on .voice-playing .voice-bar:nth-child(3){animation-delay:.2s}.app.animate-on .voice-playing .voice-bar:nth-child(4){animation-delay:.15s}.app.animate-on .voice-playing .voice-bar:nth-child(5){animation-delay:.05s}@keyframes voiceWave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.app.animate-on .toggle-knob{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.app.animate-on .detail-panel,.app.animate-on .info-panel{animation:panelSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes panelSlideIn{0%{opacity:0;transform:translate(30px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.app.animate-on .search-box{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}.app.animate-on .search-box:focus-within{transform:scale(1.02);box-shadow:0 0 0 3px var(--border-focus-ring)}.app.animate-on ::-webkit-scrollbar-thumb{transition:background .3s}.app.animate-on .loading-spinner{animation:spinPulse 1.2s cubic-bezier(.5,0,.5,1) infinite}@keyframes spinPulse{0%{transform:rotate(0) scale(1);opacity:1}25%{transform:rotate(90deg) scale(1.08);opacity:.85}50%{transform:rotate(180deg) scale(1.2);opacity:.7}75%{transform:rotate(270deg) scale(1.08);opacity:.85}to{transform:rotate(360deg) scale(1);opacity:1}}.app.animate-on .data-action-btn{transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.app.animate-on .data-action-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);animation:btnShimmer 2.5s ease-in-out infinite}@keyframes btnShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.app.animate-on .data-action-btn:hover{transform:translateY(-3px) scale(1.02)}.app.animate-glow .sidebar{position:relative;overflow:hidden}.app.animate-glow .sidebar:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--primary-alpha-12),transparent 70%);top:15%;left:60%;animation:orbFloat1 8s ease-in-out infinite;pointer-events:none;z-index:0}.app.animate-glow .sidebar:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,var(--primary-alpha-10),transparent 70%);bottom:10%;left:30%;animation:orbFloat2 10s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-30px,20px) scale(1.3)}50%{transform:translate(10px,-15px) scale(.8)}75%{transform:translate(25px,-10px) scale(1.2)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-25px) scale(1.4)}66%{transform:translate(-15px,10px) scale(.7)}}.app.animate-glow .chat-area{position:relative;overflow:hidden}.app.animate-glow .chat-area:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,var(--primary-alpha-08),transparent 70%);top:30%;right:10%;animation:orbFloat3 12s ease-in-out infinite;pointer-events:none;z-index:0}.app.animate-glow .chat-area:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,var(--primary-alpha-06),transparent 70%);bottom:20%;left:20%;animation:orbFloat1 9s ease-in-out infinite reverse;pointer-events:none;z-index:0}@keyframes orbFloat3{0%,to{transform:translate(0) scale(1);opacity:.6}50%{transform:translate(-40px,-30px) scale(1.5);opacity:1}}.app.animate-glow .contact-item:hover{box-shadow:0 0 20px var(--primary-alpha-20),0 0 40px var(--primary-alpha-08),inset 0 0 30px var(--primary-alpha-08);transform:scale(1.03)}.app.animate-glow .bubble.other,.app.animate-glow .other-voice,.app.animate-glow .other-location,.app.animate-glow .other-image{position:relative;overflow:hidden}.app.animate-glow .bubble.other:after,.app.animate-glow .other-voice:after,.app.animate-glow .other-location:after,.app.animate-glow .other-image:after{content:"";position:absolute;top:-50%;left:-50%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:rotate(25deg);animation:glossSweep 5s ease-in-out infinite;animation-delay:2s}.app.animate-glow .input-container{transition:box-shadow .6s ease}.app.animate-glow .input-container:focus-within{box-shadow:0 0 0 4px var(--border-focus-ring),0 0 30px var(--primary-alpha-20),0 0 60px var(--primary-alpha-08)}.app.animate-glow .avatar,.app.animate-glow .chat-avatar{box-shadow:0 0 0 0 var(--primary-alpha-20);animation:avatarGlow 3s ease-in-out infinite}@keyframes avatarGlow{0%,to{box-shadow:0 0 0 0 var(--primary-alpha-05)}50%{box-shadow:0 0 0 6px var(--primary-alpha-15),0 0 18px var(--primary-alpha-10)}}.app.animate-glow .detail-panel,.app.animate-glow .info-panel,.app.animate-glow .modal-overlay .modal{position:relative}.app.animate-glow .detail-panel:before,.app.animate-glow .info-panel:before,.app.animate-glow .modal-overlay .modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--primary-alpha-30),transparent 40%,var(--primary-alpha-20) 70%,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.app.animate-glow ::-webkit-scrollbar-thumb{box-shadow:0 0 6px var(--primary-alpha-20)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}body{overflow:hidden}.app{height:100%;display:flex;background:var(--bg-page);color:var(--text-primary);transition:background .3s,color .3s}.app.dark{background:var(--bg-page);color:var(--text-primary)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-track{background:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.loading-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:var(--bg-page)}.app.dark .loading-screen{background:#0f0f1a}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin-loading .8s linear infinite}@keyframes spin-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:#999;letter-spacing:.5px}.app.dark .loading-text{color:#666}
