.url-preview-card[data-v-06322541]{display:block;margin-top:8px;border-radius:12px;overflow:hidden;background:var(--bg-secondary, #f4f4f5);border:1px solid var(--border-light, #e6e6e6);text-decoration:none;transition:all .2s ease;max-width:400px}.url-preview-card[data-v-06322541]:hover{border-color:var(--primary, #0088cc);box-shadow:0 2px 8px #0000001a}.url-preview-image[data-v-06322541]{width:100%;max-height:200px;overflow:hidden;background:var(--bg-hover, rgba(0, 0, 0, .04))}.url-preview-image img[data-v-06322541]{width:100%;height:auto;max-height:200px;-o-object-fit:cover;object-fit:cover;display:block}.url-preview-content[data-v-06322541]{padding:10px 12px}.url-preview-site[data-v-06322541]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.url-preview-favicon[data-v-06322541]{width:16px;height:16px;border-radius:2px;flex-shrink:0}.url-preview-site-name[data-v-06322541]{font-size:12px;color:var(--text-tertiary, #999999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url-preview-title[data-v-06322541]{font-size:14px;font-weight:500;color:var(--text-primary, #000000);line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.url-preview-desc[data-v-06322541]{font-size:13px;color:var(--text-secondary, #707579);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.url-preview-loading[data-v-06322541]{display:flex;align-items:center;gap:8px;padding:12px;margin-top:8px;border-radius:12px;background:var(--bg-secondary, #f4f4f5);font-size:12px;color:var(--text-tertiary, #999999)}.url-preview-loading-spinner[data-v-06322541]{width:14px;height:14px;border:2px solid var(--border-light, #e6e6e6);border-top-color:var(--primary, #0088cc);border-radius:50%;animation:spin-06322541 .8s linear infinite}@keyframes spin-06322541{to{transform:rotate(360deg)}}@media (max-width: 480px){.url-preview-card[data-v-06322541]{max-width:100%}.url-preview-image[data-v-06322541],.url-preview-image img[data-v-06322541]{max-height:150px}}.voice-message-wrapper[data-v-0b99ffb2]{display:flex;flex-direction:column;gap:6px;max-width:280px}.voice-row[data-v-0b99ffb2]{display:flex;align-items:center;gap:8px}.voice-bubble[data-v-0b99ffb2]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;cursor:pointer;transition:all .15s ease;min-width:70px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.voice-bubble[data-v-0b99ffb2]:hover{background:var(--bg-hover, #ebebeb)}.voice-bubble[data-v-0b99ffb2]:active{transform:scale(.98)}.voice-waves[data-v-0b99ffb2]{display:flex;align-items:flex-end;gap:2px;height:16px}.wave[data-v-0b99ffb2]{width:3px;background:var(--text-secondary, #666);border-radius:1.5px;transition:height .15s ease}.wave-1[data-v-0b99ffb2]{height:6px}.wave-2[data-v-0b99ffb2]{height:12px}.wave-3[data-v-0b99ffb2]{height:8px}.voice-waves-playing .wave[data-v-0b99ffb2]{animation:waveAnim-0b99ffb2 .6s ease-in-out infinite}.voice-waves-playing .wave-1[data-v-0b99ffb2]{animation-delay:0s}.voice-waves-playing .wave-2[data-v-0b99ffb2]{animation-delay:.1s}.voice-waves-playing .wave-3[data-v-0b99ffb2]{animation-delay:.2s}@keyframes waveAnim-0b99ffb2{0%,to{height:4px}50%{height:14px}}.voice-duration[data-v-0b99ffb2]{font-size:14px;color:var(--text-primary, #333);font-weight:400}.voice-transcribe-btn[data-v-0b99ffb2]{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px;color:var(--text-secondary, #666);background:var(--bg-secondary, #f5f5f5);border:none;border-radius:14px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.voice-transcribe-btn[data-v-0b99ffb2]:hover{background:var(--bg-hover, #ebebeb)}.voice-transcribe-btn[data-v-0b99ffb2]:disabled{opacity:.5;cursor:not-allowed}.transcribe-dot[data-v-0b99ffb2]{width:6px;height:6px;background:#fa5151;border-radius:50%}.voice-transcribing[data-v-0b99ffb2]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary, #999);padding:6px 0}.transcribing-spinner[data-v-0b99ffb2]{width:12px;height:12px;border:2px solid var(--border-light, #e0e0e0);border-top-color:var(--primary, #07c160);border-radius:50%;animation:spin-0b99ffb2 .8s linear infinite}@keyframes spin-0b99ffb2{to{transform:rotate(360deg)}}.voice-transcription-bubble[data-v-0b99ffb2]{padding:8px 12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;font-size:14px;color:var(--text-primary, #333);line-height:1.5;cursor:pointer;word-break:break-word}.voice-transcription-text[data-v-0b99ffb2]{display:inline}.voice-transcription-toggle[data-v-0b99ffb2]{color:var(--primary, #07c160);font-size:12px;margin-left:4px}.image-viewer[data-v-1ee2646e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000f2;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.viewer-toolbar[data-v-1ee2646e]{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);z-index:10}.toolbar-left[data-v-1ee2646e],.toolbar-right[data-v-1ee2646e]{display:flex;align-items:center;gap:8px}.image-counter[data-v-1ee2646e]{color:#fff;font-size:14px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5)}.toolbar-btn[data-v-1ee2646e]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s}.toolbar-btn[data-v-1ee2646e]:hover{background:#fff3}.toolbar-btn[data-v-1ee2646e]:active{transform:scale(.95)}.image-container[data-v-1ee2646e]{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:60px 16px 100px}.viewer-image[data-v-1ee2646e]{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;cursor:grab;transform-origin:center center}.viewer-image[data-v-1ee2646e]:active{cursor:grabbing}.nav-btn[data-v-1ee2646e]{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s;z-index:10}.nav-btn[data-v-1ee2646e]:hover{background:#fff3}.nav-btn[data-v-1ee2646e]:active{transform:translateY(-50%) scale(.95)}.nav-prev[data-v-1ee2646e]{left:16px}.nav-next[data-v-1ee2646e]{right:16px}.thumbnail-bar[data-v-1ee2646e]{position:absolute;bottom:0;left:0;right:0;display:none;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);z-index:10}@media (min-width: 641px){.thumbnail-bar[data-v-1ee2646e]{display:flex}}.thumbnail-container[data-v-1ee2646e]{flex:1;display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;justify-content:center}.thumbnail-container[data-v-1ee2646e]::-webkit-scrollbar{display:none}.thumbnail-container[data-v-1ee2646e]{-ms-overflow-style:none;scrollbar-width:none}.thumb-nav-btn[data-v-1ee2646e]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#fff3;color:#fff;cursor:pointer;transition:all .2s}.thumb-nav-btn[data-v-1ee2646e]:hover{background:#ffffff4d}.thumbnail[data-v-1ee2646e]{flex-shrink:0;width:60px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.5;transition:all .2s;border:2px solid transparent}.thumbnail[data-v-1ee2646e]:hover{opacity:.8}.thumbnail.active[data-v-1ee2646e]{opacity:1;border-color:#fff}.thumbnail img[data-v-1ee2646e]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media (max-width: 640px){.nav-btn[data-v-1ee2646e]{width:40px;height:40px}.nav-prev[data-v-1ee2646e]{left:8px}.nav-next[data-v-1ee2646e]{right:8px}.image-container[data-v-1ee2646e]{padding:56px 8px 60px}}.mobile-indicator[data-v-1ee2646e]{display:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%);justify-content:center;align-items:center;gap:6px;z-index:10;max-width:80%;flex-wrap:wrap}@media (max-width: 640px){.mobile-indicator[data-v-1ee2646e]{display:flex}}.indicator-dot[data-v-1ee2646e]{width:6px;height:6px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .2s}.indicator-dot.active[data-v-1ee2646e]{width:20px;border-radius:3px;background:#fff}.indicator-dot[data-v-1ee2646e]:hover{background:#ffffffb3}.thumbnail-bar[data-v-1ee2646e]::-webkit-scrollbar{display:none}.thumbnail-bar[data-v-1ee2646e]{-ms-overflow-style:none;scrollbar-width:none}.back-to-bottom-btn[data-v-ab7dde32]{background:#ffffff80;color:var(--text-secondary);border-color:var(--border-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.back-to-bottom-btn-dark[data-v-ab7dde32]{background:var(--bg-elevated);border-color:var(--border-light);color:var(--text-primary);box-shadow:0 4px 12px #0006,0 0 0 1px #ffffff14}.back-to-bottom-btn[data-v-ab7dde32]:hover{color:var(--text-primary);box-shadow:0 4px 12px #0000002e}.back-to-bottom-btn[data-v-ab7dde32]:active{transform:translateY(1px)}.unread-badge[data-v-ab7dde32]{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:var(--error);color:#fff;border-radius:9999px;font-size:11px;line-height:18px;text-align:center;box-shadow:0 2px 6px #0003}.mention-jump-btn[data-v-ab7dde32]{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:500;background:var(--primary, #0088cc);color:#fff;border:none;border-radius:9999px;box-shadow:0 2px 8px #0088cc4d;cursor:pointer;transition:all .2s ease}.mention-jump-btn[data-v-ab7dde32]:hover{background:var(--primary-hover, #0077b5);transform:scale(1.02)}.mention-jump-btn[data-v-ab7dde32]:active{transform:scale(.98)}.mention-jump-btn-dark[data-v-ab7dde32]{box-shadow:0 2px 12px #08c6}@keyframes mentionFlash-ab7dde32{0%{box-shadow:0 0 #08c9}50%{box-shadow:0 0 0 8px #08c0}to{box-shadow:0 0 #08c0}}.mention-highlight-flash[data-v-ab7dde32]{animation:mentionFlash-ab7dde32 .6s ease-out 2}.read-count[data-v-ab7dde32]{color:var(--text-tertiary)}.context-menu-bubble[data-v-ab7dde32]{max-width:calc(100vw - 20px);animation:menuFadeIn-ab7dde32 .15s ease-out}.context-menu-item[data-v-ab7dde32]{min-width:48px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden}.context-menu-item[data-v-ab7dde32]:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.context-menu-item[data-v-ab7dde32]:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.context-menu-item[data-v-ab7dde32]:active{transform:scale(.95)}.context-menu-arrow[data-v-ab7dde32]{position:absolute;width:0;height:0;border-style:solid;transform:translate(-50%);z-index:2}.context-menu-arrow.arrow-down[data-v-ab7dde32]{bottom:-6px;border-width:6px 6px 0 6px;border-color:var(--bg-secondary) transparent transparent transparent}.context-menu-arrow.arrow-up[data-v-ab7dde32]{top:-6px;border-width:0 6px 6px 6px;border-color:transparent transparent var(--bg-secondary) transparent}@keyframes menuFadeIn-ab7dde32{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 640px){.context-menu-bubble[data-v-ab7dde32]{max-width:calc(100vw - 20px)}.context-menu-item[data-v-ab7dde32]{padding:.125rem .375rem!important}}.tg-voice-message[data-v-ab7dde32]{display:flex;flex-direction:column;gap:4px}.tg-voice-message .tg-bubble-time[data-v-ab7dde32]{align-self:flex-end;margin-top:2px}.tg-upload-wrapper[data-v-ab7dde32]{position:relative;display:inline-block}[data-v-ab7dde32] .wx-emoji{display:inline;width:22px;height:22px;vertical-align:text-bottom;margin:0 1px;pointer-events:none}.tg-uploading-media[data-v-ab7dde32]{opacity:.6;filter:brightness(.8)}.tg-upload-overlay[data-v-ab7dde32]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0006;border-radius:inherit;gap:8px}.tg-upload-failed[data-v-ab7dde32]{background:#0009}.tg-upload-queued-label[data-v-ab7dde32]{color:#fff;font-size:13px;font-weight:500;padding:4px 12px;background:#00000059;border-radius:12px}.tg-upload-progress-ring[data-v-ab7dde32]{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center}.circular-progress[data-v-ab7dde32]{width:56px;height:56px;transform:rotate(-90deg)}.circular-progress .circle-bg[data-v-ab7dde32]{fill:none;stroke:#fff3;stroke-width:3}.circular-progress .circle[data-v-ab7dde32]{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.progress-text[data-v-ab7dde32]{position:absolute;color:#fff;font-size:12px;font-weight:600}.tg-upload-cancel[data-v-ab7dde32]{position:absolute;bottom:8px;right:8px;padding:6px;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s}.tg-upload-cancel[data-v-ab7dde32]:hover{background:#dc2626cc}.tg-upload-error[data-v-ab7dde32]{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff}.error-text[data-v-ab7dde32]{font-size:12px;color:#fca5a5}.tg-upload-actions[data-v-ab7dde32]{display:flex;gap:8px}.tg-retry-btn[data-v-ab7dde32],.tg-cancel-btn[data-v-ab7dde32]{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:16px;font-size:12px;cursor:pointer;transition:all .2s}.tg-retry-btn[data-v-ab7dde32]{background:#ffffffe6;color:#333}.tg-retry-btn[data-v-ab7dde32]:hover{background:#fff}.tg-cancel-btn[data-v-ab7dde32]{background:#fff3;color:#fff}.tg-cancel-btn[data-v-ab7dde32]:hover{background:#ffffff4d}.tg-file-progress-ring[data-v-ab7dde32]{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.circular-progress-small[data-v-ab7dde32]{width:24px;height:24px;transform:rotate(-90deg)}.circular-progress-small .circle-bg[data-v-ab7dde32]{fill:none;stroke:var(--border-medium);stroke-width:3}.circular-progress-small .circle[data-v-ab7dde32]{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.tg-file-cancel[data-v-ab7dde32],.tg-file-retry[data-v-ab7dde32]{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tg-file-cancel[data-v-ab7dde32]:hover{background:var(--bg-hover);color:var(--error)}.tg-file-retry[data-v-ab7dde32]:hover{background:var(--bg-hover);color:var(--primary)}.tg-file-actions[data-v-ab7dde32]{display:flex;gap:4px}.message-row[data-v-ab7dde32]{will-change:transform,opacity}@keyframes msgSlideInLeft-ab7dde32{0%{opacity:0;transform:translate(-20px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes msgSlideInRight-ab7dde32{0%{opacity:0;transform:translate(20px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.msg-animate-in-left[data-v-ab7dde32]{animation:msgSlideInLeft-ab7dde32 .3s cubic-bezier(.22,1,.36,1) forwards}.msg-animate-in-right[data-v-ab7dde32]{animation:msgSlideInRight-ab7dde32 .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes messageHighlight-ab7dde32{0%,to{background-color:transparent}15%,85%{background-color:var(--highlight-bg, rgba(0, 136, 204, .15))}}.message-highlight[data-v-ab7dde32]{animation:messageHighlight-ab7dde32 2s ease-in-out;border-radius:12px}.skeleton-container[data-v-ab7dde32]{display:flex;flex-direction:column;gap:12px;padding:8px 0}.skeleton-row[data-v-ab7dde32]{display:flex;align-items:flex-start;gap:8px}.skeleton-left[data-v-ab7dde32]{justify-content:flex-start}.skeleton-right[data-v-ab7dde32]{justify-content:flex-end}.skeleton-avatar[data-v-ab7dde32]{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary, #e5e7eb);flex-shrink:0;animation:skeletonShimmer-ab7dde32 1.5s infinite}.skeleton-bubble[data-v-ab7dde32]{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:12px;background:var(--bg-tertiary, #e5e7eb);max-width:280px;animation:skeletonShimmer-ab7dde32 1.5s infinite}.skeleton-right .skeleton-bubble[data-v-ab7dde32]{background:var(--skeleton-bubble-out, rgba(0, 136, 204, .15))}.skeleton-line[data-v-ab7dde32]{height:12px;border-radius:6px;background:var(--bg-secondary, #d1d5db)}.skeleton-name[data-v-ab7dde32]{width:60px;height:10px;margin-bottom:2px}.skeleton-text-long[data-v-ab7dde32]{width:180px}.skeleton-text-medium[data-v-ab7dde32]{width:120px}.skeleton-text-short[data-v-ab7dde32]{width:80px}@keyframes skeletonShimmer-ab7dde32{0%{opacity:1}50%{opacity:.5}to{opacity:1}}:root[data-theme=dark] .skeleton-avatar[data-v-ab7dde32],:root[data-theme=dark] .skeleton-bubble[data-v-ab7dde32]{background:var(--bg-tertiary, #374151)}:root[data-theme=dark] .skeleton-line[data-v-ab7dde32]{background:var(--bg-secondary, #4b5563)}:root[data-theme=dark] .skeleton-right .skeleton-bubble[data-v-ab7dde32]{background:#08c3}.emoji-picker[data-v-4ddbd080]{width:340px;max-height:420px;display:flex;flex-direction:column;background:var(--bg-primary);border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid var(--border-light)}.emoji-picker-header[data-v-4ddbd080]{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--border-light)}.emoji-tabs[data-v-4ddbd080]{display:flex;gap:4px}.emoji-tab[data-v-4ddbd080]{padding:6px 12px;border-radius:6px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .2s}.emoji-tab[data-v-4ddbd080]:hover{background:var(--bg-hover)}.emoji-tab.active[data-v-4ddbd080]{background:var(--primary);color:#fff}.emoji-picker-body[data-v-4ddbd080]{flex:1;overflow:hidden;display:flex;flex-direction:column}.wx-emoji-panel[data-v-4ddbd080]{display:flex;flex-direction:column;flex:1;overflow:hidden}.wx-emoji-grid[data-v-4ddbd080]{flex:1;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.wx-emoji-grid[data-v-4ddbd080]::-webkit-scrollbar{width:4px}.wx-emoji-grid[data-v-4ddbd080]::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.wx-emoji-item[data-v-4ddbd080]{aspect-ratio:1;width:100%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:6px;padding:4px;transition:all .15s}.wx-emoji-item[data-v-4ddbd080]:hover{background:var(--bg-hover);transform:scale(1.15)}.wx-emoji-item[data-v-4ddbd080]:active{transform:scale(.95)}.wx-emoji-item img[data-v-4ddbd080]{width:28px;height:28px;-o-object-fit:contain;object-fit:contain;pointer-events:none}.wx-category-bar[data-v-4ddbd080]{display:flex;align-items:center;padding:6px 8px;border-top:1px solid var(--border-light);background:var(--bg-secondary);border-radius:0 0 12px 12px}.wx-category-btns[data-v-4ddbd080]{display:flex;gap:2px;flex:1;overflow-x:auto}.wx-category-btn[data-v-4ddbd080]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:6px;padding:4px;transition:all .15s;flex-shrink:0}.wx-category-btn[data-v-4ddbd080]:hover,.wx-category-btn.active[data-v-4ddbd080]{background:var(--bg-hover)}.wx-category-btn img[data-v-4ddbd080]{width:22px;height:22px;-o-object-fit:contain;object-fit:contain;pointer-events:none}.wx-backspace-btn[data-v-4ddbd080]{width:40px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--bg-hover, #e5e5e5);cursor:pointer;border-radius:6px;padding:4px;margin-left:6px;flex-shrink:0;color:var(--text-tertiary, #aaa);transition:all .15s}.wx-backspace-btn[data-v-4ddbd080]:hover{background:var(--bg-hover);color:var(--text-secondary)}.wx-backspace-btn.active[data-v-4ddbd080]{color:var(--text-primary, #333);background:var(--bg-hover, #ddd)}.wx-backspace-btn[data-v-4ddbd080]:active{transform:scale(.92)}.wx-backspace-btn svg[data-v-4ddbd080]{width:20px;height:20px}.emoji-grid[data-v-4ddbd080]{padding:8px}.emoji-grid.custom[data-v-4ddbd080]{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.emoji-item-wrapper[data-v-4ddbd080]{position:relative;aspect-ratio:1}.emoji-item[data-v-4ddbd080]{aspect-ratio:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:6px;transition:all .2s}.emoji-item[data-v-4ddbd080]:hover{background:var(--bg-hover);transform:scale(1.1)}.emoji-item.custom img[data-v-4ddbd080]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.emoji-delete-btn[data-v-4ddbd080]{position:absolute;top:-4px;right:-4px;width:20px;height:20px;padding:2px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.emoji-delete-btn[data-v-4ddbd080]:hover{background:#dc2626;transform:scale(1.1)}.loading[data-v-4ddbd080],.empty[data-v-4ddbd080]{grid-column:1 / -1;text-align:center;padding:32px 16px;color:var(--text-secondary)}.modal-overlay[data-v-4ddbd080]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-4ddbd080]{background:var(--bg-primary);border-radius:12px;width:90%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a}.modal-header[data-v-4ddbd080]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-light)}.modal-header h3[data-v-4ddbd080]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal-body[data-v-4ddbd080]{padding:16px}.modal-footer[data-v-4ddbd080]{display:flex;gap:8px;justify-content:flex-end;padding:16px;border-top:1px solid var(--border-light)}.form-group[data-v-4ddbd080]{margin-bottom:16px}.form-group label[data-v-4ddbd080]{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.file-input[data-v-4ddbd080]{width:100%}.preview[data-v-4ddbd080]{margin-top:12px;text-align:center}.preview img[data-v-4ddbd080]{max-width:200px;max-height:200px;border-radius:8px}.btn-icon[data-v-4ddbd080]{padding:4px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s}.btn-icon[data-v-4ddbd080]:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-primary[data-v-4ddbd080],.btn-secondary[data-v-4ddbd080],.btn-sm[data-v-4ddbd080]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-sm[data-v-4ddbd080]{padding:6px 12px;font-size:12px}.btn-primary[data-v-4ddbd080]{background:var(--primary);color:#fff}.btn-primary[data-v-4ddbd080]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-4ddbd080]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-4ddbd080]{background:var(--bg-secondary);color:var(--text-primary)}.btn-secondary[data-v-4ddbd080]:hover{background:var(--bg-hover)}.search-panel[data-v-4ddbd080]{display:flex;flex-direction:column;flex:1;overflow:hidden}.search-bar[data-v-4ddbd080]{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-light);flex-shrink:0}.search-input-wrap[data-v-4ddbd080]{flex:1;display:flex;align-items:center;background:var(--bg-secondary, #f5f5f5);border-radius:8px;padding:0 10px;border:1px solid transparent;transition:border-color .15s}.search-input-wrap[data-v-4ddbd080]:focus-within{border-color:var(--primary)}.search-icon[data-v-4ddbd080]{flex-shrink:0;color:var(--text-tertiary)}.search-input[data-v-4ddbd080]{flex:1;border:none;background:transparent;outline:none;padding:8px;font-size:14px;color:var(--text-primary);min-width:0}.search-input[data-v-4ddbd080]::-moz-placeholder{color:var(--text-tertiary)}.search-input[data-v-4ddbd080]::placeholder{color:var(--text-tertiary)}.search-clear[data-v-4ddbd080]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:var(--text-tertiary);color:#fff;border-radius:50%;cursor:pointer;padding:0;opacity:.6;transition:opacity .15s}.search-clear[data-v-4ddbd080]:hover{opacity:1}.search-btn[data-v-4ddbd080]{flex-shrink:0;padding:0 14px;height:36px;border:none;border-radius:8px;background:var(--primary, #0088cc);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.search-btn[data-v-4ddbd080]:hover:not(:disabled){opacity:.85}.search-btn[data-v-4ddbd080]:disabled{opacity:.5;cursor:not-allowed}.search-results[data-v-4ddbd080]{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;align-content:start;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.search-result-item[data-v-4ddbd080]{position:relative;border:none;background:var(--bg-secondary, #f5f5f5);border-radius:8px;cursor:pointer;overflow:hidden;padding:0 0 100%;transition:transform .15s,box-shadow .15s;display:block;width:100%;height:0}.search-result-item[data-v-4ddbd080]:hover{transform:scale(1.02);box-shadow:0 2px 8px #0000001f}.search-result-item[data-v-4ddbd080]:active{transform:scale(.97)}.search-result-cell[data-v-4ddbd080]{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:6px;box-sizing:border-box}.search-result-item img[data-v-4ddbd080]{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;pointer-events:none;border-radius:4px;background:var(--bg-secondary, #f5f5f5)}.search-result-failed-label[data-v-4ddbd080]{display:none;position:absolute;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;font-size:12px;color:var(--text-tertiary);background:var(--bg-secondary, #f5f5f5);border-radius:8px}.search-result-item.search-result-failed .search-result-cell[data-v-4ddbd080]{opacity:0}.search-result-item.search-result-failed .search-result-failed-label[data-v-4ddbd080]{display:flex}.search-empty[data-v-4ddbd080]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px;color:var(--text-tertiary);font-size:14px}.search-hot-tags[data-v-4ddbd080]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.hot-tag[data-v-4ddbd080]{padding:5px 14px;border:1px solid var(--border-light, #ddd);border-radius:16px;background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.hot-tag[data-v-4ddbd080]:hover{background:var(--primary, #0088cc);color:#fff;border-color:var(--primary, #0088cc)}.search-spinner[data-v-4ddbd080]{width:24px;height:24px;border:3px solid var(--border-light);border-top-color:var(--primary, #0088cc);border-radius:50%;animation:spin-4ddbd080 .6s linear infinite}@keyframes spin-4ddbd080{to{transform:rotate(360deg)}}@media (max-width: 768px){.emoji-picker[data-v-4ddbd080]{width:100%;max-height:none;height:100%;border-radius:0;box-shadow:none;border:none}.wx-emoji-grid[data-v-4ddbd080]{grid-template-columns:repeat(8,1fr);gap:4px;padding:8px 12px}.wx-emoji-item img[data-v-4ddbd080]{width:30px;height:30px}.wx-category-bar[data-v-4ddbd080]{border-radius:0;padding:8px 12px}.wx-category-btn[data-v-4ddbd080]{width:36px;height:36px}.wx-category-btn img[data-v-4ddbd080]{width:24px;height:24px}.wx-backspace-btn[data-v-4ddbd080]{width:48px;height:40px}.wx-backspace-btn svg[data-v-4ddbd080]{width:22px;height:22px}.emoji-grid.custom[data-v-4ddbd080]{grid-template-columns:repeat(5,1fr)}.search-results[data-v-4ddbd080]{gap:6px;padding:8px}}.tg-input-row[data-v-6a54e9de]{display:flex;align-items:center;gap:8px;width:100%}.tg-action-btn[data-v-6a54e9de]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;transition:background-color .15s ease}.tg-action-btn[data-v-6a54e9de]:hover{background:var(--bg-hover)}.tg-input-wrapper[data-v-6a54e9de]{flex:1;position:relative;display:flex;align-items:center;background:var(--bg-secondary);border-radius:22px;border:1px solid var(--border-light);transition:border-color .15s ease;min-height:44px}.tg-input-wrapper[data-v-6a54e9de]:focus-within{border-color:var(--primary)}.tg-input[data-v-6a54e9de]{flex:1;min-height:44px;max-height:120px;padding:12px 0 12px 16px;background:transparent;border:none;font-size:15px;line-height:1.3;color:var(--text-primary);resize:none;outline:none}.tg-input[data-v-6a54e9de]::-moz-placeholder{color:var(--text-tertiary)}.tg-input[data-v-6a54e9de]::placeholder{color:var(--text-tertiary)}.tg-input-editable[data-v-6a54e9de]{overflow-y:auto;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;-moz-user-select:text;user-select:text}.tg-input-editable[data-v-6a54e9de]:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none}.tg-input-editable[data-v-6a54e9de] .input-emoji,.tg-input-editable .input-emoji[data-v-6a54e9de]{display:inline;width:22px;height:22px;vertical-align:text-bottom;margin:0 1px;pointer-events:none}.tg-emoji-btn[data-v-6a54e9de]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:4px;border-radius:50%;transition:background-color .15s ease}.tg-emoji-btn[data-v-6a54e9de]:hover{background:var(--bg-hover)}.tg-send-btn[data-v-6a54e9de]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:var(--text-tertiary);transition:all .2s ease}.tg-send-btn[data-v-6a54e9de]:disabled{opacity:.5;cursor:not-allowed}.tg-send-btn-active[data-v-6a54e9de]{background:var(--primary);color:#fff}.tg-send-btn-active[data-v-6a54e9de]:hover{background:var(--primary-hover);transform:scale(1.05)}.tg-reply-preview[data-v-6a54e9de]{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;background:var(--bg-secondary);border-radius:12px}.tg-reply-bar[data-v-6a54e9de]{width:3px;height:32px;background:var(--primary);border-radius:2px;flex-shrink:0}.tg-reply-content[data-v-6a54e9de]{flex:1;min-width:0}.tg-reply-header[data-v-6a54e9de]{font-size:13px;font-weight:500;color:var(--primary)}.tg-reply-body[data-v-6a54e9de]{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-reply-close[data-v-6a54e9de]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-tertiary);flex-shrink:0;transition:background-color .15s ease}.tg-reply-close[data-v-6a54e9de]:hover{background:var(--bg-hover)}.tg-files-preview[data-v-6a54e9de]{margin-bottom:8px;background:var(--bg-secondary);border-radius:12px;overflow:hidden}.tg-files-scroll[data-v-6a54e9de]{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.tg-files-scroll[data-v-6a54e9de]::-webkit-scrollbar{height:4px}.tg-files-scroll[data-v-6a54e9de]::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.tg-file-thumb-wrap[data-v-6a54e9de]{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-light)}.tg-file-thumb-img[data-v-6a54e9de]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.tg-thumb-type-badge[data-v-6a54e9de]{position:absolute;bottom:3px;left:3px;font-size:10px;padding:1px 5px;border-radius:4px;background:#0000008c;color:#fff;line-height:1.4}.tg-thumb-remove[data-v-6a54e9de]{position:absolute;top:3px;right:3px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;transition:background .15s;opacity:0}.tg-file-thumb-wrap:hover .tg-thumb-remove[data-v-6a54e9de]{opacity:1}@media (max-width: 768px){.tg-thumb-remove[data-v-6a54e9de]{opacity:1}.tg-file-thumb-wrap[data-v-6a54e9de],.tg-add-more-btn[data-v-6a54e9de]{width:60px;height:60px}.tg-files-scroll[data-v-6a54e9de]{gap:6px;padding:8px 10px}.tg-input-row[data-v-6a54e9de]{gap:6px}.tg-input-wrapper[data-v-6a54e9de]{border-radius:8px;min-height:38px;background:var(--bg-primary, #fff);border:1px solid var(--border-light, #ddd)}.tg-input[data-v-6a54e9de]{min-height:38px;padding:9px 0 9px 12px;font-size:16px}.tg-emoji-btn[data-v-6a54e9de]{width:36px;height:36px;margin-right:2px}.tg-action-btn[data-v-6a54e9de]{width:36px;height:36px}.tg-action-btn svg[data-v-6a54e9de]{width:22px;height:22px}.tg-send-btn[data-v-6a54e9de]{width:38px;height:38px}.tg-send-btn svg[data-v-6a54e9de]{width:18px;height:18px}.tg-mic-btn[data-v-6a54e9de]{width:38px;height:38px}.tg-mic-btn svg[data-v-6a54e9de]{width:20px;height:20px}}.tg-thumb-remove[data-v-6a54e9de]:hover{background:#dc2626cc}.tg-add-more-btn[data-v-6a54e9de]{width:72px;height:72px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-light);color:var(--text-tertiary);cursor:pointer;transition:all .15s}.tg-add-more-btn[data-v-6a54e9de]:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-hover)}.tg-files-bar[data-v-6a54e9de]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-top:1px solid var(--border-light)}.tg-files-count[data-v-6a54e9de]{font-size:12px;color:var(--text-secondary)}.tg-files-clear[data-v-6a54e9de]{font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:color .15s}.tg-files-clear[data-v-6a54e9de]:hover{color:#dc2626}.tg-file-preview[data-v-6a54e9de]{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:8px;background:var(--bg-secondary);border-radius:12px}.tg-preview-thumb[data-v-6a54e9de]{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0}.tg-preview-thumb img[data-v-6a54e9de],.tg-preview-thumb video[data-v-6a54e9de]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tg-file-icon-preview[data-v-6a54e9de]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);color:var(--text-secondary)}.tg-preview-info[data-v-6a54e9de]{flex:1;min-width:0}.tg-preview-name[data-v-6a54e9de]{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-preview-size[data-v-6a54e9de]{font-size:12px;color:var(--text-tertiary);margin-top:2px}.tg-preview-close[data-v-6a54e9de]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-tertiary);flex-shrink:0;transition:background-color .15s ease}.tg-preview-close[data-v-6a54e9de]:hover{background:var(--bg-hover)}.tg-attach-menu[data-v-6a54e9de]{position:absolute;bottom:56px;left:8px;display:flex;gap:4px;padding:8px;background:var(--bg-elevated);border-radius:12px;box-shadow:0 2px 16px #0000001f;z-index:50;animation:tgMenuIn-6a54e9de .2s cubic-bezier(.34,1.56,.64,1)}@keyframes tgMenuIn-6a54e9de{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.tg-attach-item[data-v-6a54e9de]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;border-radius:10px;transition:all .15s ease;font-size:11px;color:var(--text-secondary)}.tg-attach-item[data-v-6a54e9de]:hover{background:var(--bg-hover)}.tg-attach-item[data-v-6a54e9de]:active{transform:scale(.95)}.tg-attach-icon[data-v-6a54e9de]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s ease}.tg-attach-item:hover .tg-attach-icon[data-v-6a54e9de]{transform:scale(1.08)}.tg-attach-icon-photo[data-v-6a54e9de]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.tg-attach-icon-file[data-v-6a54e9de]{background:linear-gradient(135deg,#667eea,#764ba2)}.tg-attach-icon-location[data-v-6a54e9de]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.rotate-45[data-v-6a54e9de]{transform:rotate(45deg)}.mention-picker[data-v-6a54e9de]{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;background:var(--bg-elevated, #ffffff);border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;max-height:280px;overflow-y:auto;z-index:60;animation:mentionPickerIn-6a54e9de .15s ease-out}@keyframes mentionPickerIn-6a54e9de{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mention-picker-header[data-v-6a54e9de]{padding:10px 14px;font-size:12px;font-weight:500;color:var(--text-tertiary, #999999);border-bottom:1px solid var(--border-light, #e6e6e6)}.mention-picker-item[data-v-6a54e9de]{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .15s}.mention-picker-item[data-v-6a54e9de]:hover,.mention-picker-item-active[data-v-6a54e9de]{background:var(--bg-hover, rgba(0, 0, 0, .04))}.mention-picker-avatar[data-v-6a54e9de]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500;flex-shrink:0}.mention-picker-name[data-v-6a54e9de]{font-size:14px;font-weight:500;color:var(--text-primary, #000000)}.tg-mic-btn[data-v-6a54e9de]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:var(--text-secondary);transition:all .2s ease}.tg-mic-btn[data-v-6a54e9de]:hover{background:var(--bg-hover);color:var(--primary)}.tg-mic-btn[data-v-6a54e9de]:active,.tg-mic-btn-recording[data-v-6a54e9de]{background:var(--primary);color:#fff;transform:scale(1.1)}.tg-recording-overlay[data-v-6a54e9de]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn-6a54e9de .15s ease}@keyframes fadeIn-6a54e9de{0%{opacity:0}to{opacity:1}}.tg-recording-content[data-v-6a54e9de]{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--bg-secondary);border-radius:12px;transition:all .2s ease}.tg-recording-cancel[data-v-6a54e9de]{background:#ffebee}.tg-recording-indicator[data-v-6a54e9de]{display:flex;align-items:center;gap:8px}.tg-recording-dot[data-v-6a54e9de]{width:10px;height:10px;background:#f44336;border-radius:50%;animation:pulse-6a54e9de 1s ease-in-out infinite}@keyframes pulse-6a54e9de{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.tg-recording-time[data-v-6a54e9de]{font-size:16px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.tg-recording-actions[data-v-6a54e9de]{display:flex;gap:8px}.tg-waveform-container[data-v-6a54e9de]{flex:1;min-width:120px;max-width:200px;height:40px;display:flex;align-items:center;justify-content:center}.tg-waveform-canvas[data-v-6a54e9de]{width:100%;height:100%}.tg-recording-cancel-btn[data-v-6a54e9de],.tg-recording-send-btn[data-v-6a54e9de]{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.tg-recording-cancel-btn[data-v-6a54e9de]{background:#ffebee;color:#f44336;border:1px solid #ffcdd2}.tg-recording-cancel-btn[data-v-6a54e9de]:hover{background:#ffcdd2}.tg-recording-send-btn[data-v-6a54e9de]{background:var(--primary, #0088cc);color:#fff;border:none}.tg-recording-send-btn[data-v-6a54e9de]:hover{background:var(--primary-hover, #0077b5)}.mobile-emoji-wrapper[data-v-6a54e9de]{overflow:hidden;transition:height .28s cubic-bezier(.4,0,.2,1);will-change:height}.mobile-emoji-panel[data-v-6a54e9de]{width:100%;background:var(--bg-primary, #fff);border-top:1px solid var(--border-light, #e5e5e5);transform:translateY(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);will-change:transform}.mobile-emoji-panel.open[data-v-6a54e9de]{transform:translateY(0)}.fade-enter-active[data-v-5fa205e2],.fade-leave-active[data-v-5fa205e2]{transition:opacity .3s ease}.fade-enter-from[data-v-5fa205e2],.fade-leave-to[data-v-5fa205e2]{opacity:0}.search-panel[data-v-d1c59d5d]{width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;background:var(--bg-elevated, #ffffff);border-radius:16px;box-shadow:0 10px 40px #0003;overflow:hidden}.search-header[data-v-d1c59d5d]{padding:16px;border-bottom:1px solid var(--border-light, #e6e6e6);display:flex;align-items:center;justify-content:space-between}.search-title[data-v-d1c59d5d]{font-size:18px;font-weight:600;color:var(--text-primary, #000000);margin:0}.search-close-btn[data-v-d1c59d5d]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #707579);background:transparent;border:none;border-radius:50%;cursor:pointer;transition:background .15s}.search-close-btn[data-v-d1c59d5d]:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.search-form[data-v-d1c59d5d]{padding:16px;border-bottom:1px solid var(--border-light, #e6e6e6)}.search-input-row[data-v-d1c59d5d]{display:flex;gap:8px;margin-bottom:12px}.search-input[data-v-d1c59d5d]{flex:1;min-width:0;padding:10px 14px;font-size:15px;color:var(--text-primary, #000000);background:var(--bg-secondary, #f4f4f5);border:2px solid transparent;border-radius:10px;outline:none;transition:all .2s}.search-input[data-v-d1c59d5d]:focus{background:var(--bg-elevated, #ffffff);border-color:var(--primary, #0088cc)}.search-btn[data-v-d1c59d5d]{padding:10px 20px;font-size:15px;font-weight:500;color:#fff;background:var(--primary, #0088cc);border:none;border-radius:10px;cursor:pointer;transition:background .15s;white-space:nowrap}.search-btn[data-v-d1c59d5d]:hover:not(:disabled){background:var(--primary-hover, #0077b5)}.search-btn[data-v-d1c59d5d]:disabled{background:var(--text-tertiary, #999999);cursor:not-allowed}.search-filters[data-v-d1c59d5d]{display:flex;flex-wrap:wrap;gap:12px;font-size:13px}.search-filter-item[data-v-d1c59d5d]{display:flex;align-items:center;gap:6px}.search-filter-item label[data-v-d1c59d5d]{color:var(--text-secondary, #707579);white-space:nowrap}.search-filter-input[data-v-d1c59d5d]{padding:6px 10px;font-size:13px;color:var(--text-primary, #000000);background:var(--bg-secondary, #f4f4f5);border:1px solid var(--border-light, #e6e6e6);border-radius:6px;outline:none;transition:border-color .15s}.search-filter-input[data-v-d1c59d5d]:focus{border-color:var(--primary, #0088cc)}.filter-username[data-v-d1c59d5d]{width:80px}.search-results[data-v-d1c59d5d]{flex:1;overflow-y:auto;padding:16px;min-height:200px}.search-empty[data-v-d1c59d5d]{text-align:center;color:var(--text-tertiary, #999999);padding:32px 16px}.search-results-list[data-v-d1c59d5d]{display:flex;flex-direction:column;gap:12px}.search-results-count[data-v-d1c59d5d]{font-size:13px;color:var(--text-secondary, #707579);margin-bottom:4px}.search-result-item[data-v-d1c59d5d]{padding:12px;background:var(--bg-secondary, #f4f4f5);border-radius:10px;cursor:pointer;transition:background .15s}.search-result-item[data-v-d1c59d5d]:hover{background:var(--bg-hover, rgba(0, 0, 0, .08))}.search-result-header[data-v-d1c59d5d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.search-result-username[data-v-d1c59d5d]{font-weight:500;color:var(--primary, #0088cc)}.search-result-time[data-v-d1c59d5d]{font-size:12px;color:var(--text-tertiary, #999999)}.search-result-content[data-v-d1c59d5d]{font-size:14px;color:var(--text-primary, #000000);margin:0;word-break:break-word}@media (max-width: 480px){.search-panel[data-v-d1c59d5d]{max-height:90vh;border-radius:12px}.search-header[data-v-d1c59d5d]{padding:14px}.search-title[data-v-d1c59d5d]{font-size:16px}.search-form[data-v-d1c59d5d]{padding:14px}.search-input-row[data-v-d1c59d5d]{flex-direction:column}.search-btn[data-v-d1c59d5d]{width:100%;padding:12px}.search-filters[data-v-d1c59d5d]{flex-direction:column;gap:10px}.search-filter-item[data-v-d1c59d5d]{width:100%}.search-filter-input[data-v-d1c59d5d]{flex:1}.filter-username[data-v-d1c59d5d]{width:auto}.search-results[data-v-d1c59d5d]{padding:14px}.search-result-item[data-v-d1c59d5d]{padding:10px}}.type-tabs[data-v-d1c59d5d]{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-light, #e6e6e6)}.type-tab[data-v-d1c59d5d]{display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-secondary, #707579);background:transparent;border:none;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .2s}.type-tab[data-v-d1c59d5d]:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.type-tab-active[data-v-d1c59d5d]{color:#fff;background:var(--primary, #0088cc)}.type-tab-active[data-v-d1c59d5d]:hover{background:var(--primary-hover, #0077b5)}.type-tab-icon[data-v-d1c59d5d]{display:flex;align-items:center}.media-grid-container[data-v-d1c59d5d]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:12px}.media-grid-item[data-v-d1c59d5d]{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--bg-tertiary, #f0f0f0)}.media-grid-item img[data-v-d1c59d5d],.media-grid-item video[data-v-d1c59d5d]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.media-grid-item[data-v-d1c59d5d]:hover{opacity:.9}.video-thumbnail[data-v-d1c59d5d]{position:relative;width:100%;height:100%}.video-play-icon[data-v-d1c59d5d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;color:#fff}.media-info[data-v-d1c59d5d]{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:10px;display:flex;justify-content:space-between}.file-list[data-v-d1c59d5d]{display:flex;flex-direction:column;gap:8px}.file-list-item[data-v-d1c59d5d]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #f4f4f5);border-radius:10px;cursor:pointer;transition:background .15s}.file-list-item[data-v-d1c59d5d]:hover{background:var(--bg-hover, rgba(0, 0, 0, .08))}.file-icon[data-v-d1c59d5d]{flex-shrink:0;color:var(--primary, #0088cc)}.file-info[data-v-d1c59d5d]{flex:1;min-width:0}.file-name[data-v-d1c59d5d]{font-size:14px;font-weight:500;color:var(--text-primary, #000000);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta[data-v-d1c59d5d]{display:flex;gap:6px;font-size:12px;color:var(--text-tertiary, #999999);margin:0}.file-download[data-v-d1c59d5d]{flex-shrink:0;padding:8px;color:var(--text-secondary, #707579);border-radius:50%;transition:all .15s}.file-download[data-v-d1c59d5d]:hover{background:var(--bg-hover, rgba(0, 0, 0, .08));color:var(--primary, #0088cc)}.voice-list[data-v-d1c59d5d]{display:flex;flex-direction:column;gap:8px}.voice-list-item[data-v-d1c59d5d]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary, #f4f4f5);border-radius:10px;cursor:pointer;transition:background .15s}.voice-list-item[data-v-d1c59d5d]:hover{background:var(--bg-hover, rgba(0, 0, 0, .08))}.voice-icon[data-v-d1c59d5d]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary, #0088cc);color:#fff;border-radius:50%}.voice-info[data-v-d1c59d5d]{flex:1}.voice-username[data-v-d1c59d5d]{font-size:14px;font-weight:500;color:var(--text-primary, #000000);margin:0 0 4px}.voice-meta[data-v-d1c59d5d]{display:flex;gap:6px;font-size:12px;color:var(--text-tertiary, #999999);margin:0}@media (max-width: 480px){.type-tabs[data-v-d1c59d5d]{padding:10px 14px;gap:6px}.type-tab[data-v-d1c59d5d]{padding:6px 10px;font-size:12px;flex:0 0 auto}.media-grid-container[data-v-d1c59d5d]{grid-template-columns:repeat(3,1fr);gap:2px}}.admin-container[data-v-2eddef98]{min-height:100vh;background:var(--admin-bg)}.admin-login[data-v-2eddef98]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#ff6b35,#f7931e)}.admin-login-card[data-v-2eddef98]{width:100%;max-width:380px;background:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 10px 40px #00000026}.admin-login-logo[data-v-2eddef98]{text-align:center;margin-bottom:28px}.admin-login-logo-icon[data-v-2eddef98]{width:72px;height:72px;margin:0 auto 16px;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.admin-login-logo-icon svg[data-v-2eddef98]{width:40px;height:40px}.admin-login-title[data-v-2eddef98]{font-size:26px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.admin-login-subtitle[data-v-2eddef98]{font-size:14px;color:#666;margin:0}.admin-login-error[data-v-2eddef98]{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;background:#e539351a;border:1px solid rgba(229,57,53,.2);border-radius:10px;color:#e53935;font-size:13px}.admin-login-form[data-v-2eddef98]{display:flex;flex-direction:column;gap:16px}.admin-login-input-group[data-v-2eddef98]{position:relative}.admin-login-input-icon[data-v-2eddef98]{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#999}.admin-login-input[data-v-2eddef98]{width:100%;height:48px;padding:0 16px 0 44px;font-size:15px;color:#1a1a1a;background:#f5f5f5;border:2px solid transparent;border-radius:12px;outline:none;transition:all .2s}.admin-login-input[data-v-2eddef98]:focus{background:#fff;border-color:var(--admin-primary)}.admin-login-btn[data-v-2eddef98]{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:12px;cursor:pointer;transition:all .2s}.admin-login-btn[data-v-2eddef98]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b354d}.admin-login-btn[data-v-2eddef98]:disabled{opacity:.6;cursor:not-allowed}.admin-login-spinner[data-v-2eddef98]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-2eddef98 .8s linear infinite}.admin-login-footer[data-v-2eddef98]{margin-top:24px;text-align:center}.admin-login-back[data-v-2eddef98]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#666;text-decoration:none;transition:color .2s}.admin-login-back[data-v-2eddef98]:hover{color:var(--admin-primary)}.admin-layout[data-v-2eddef98]{display:flex;min-height:100vh}.admin-overlay[data-v-2eddef98]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}@media (min-width: 768px){.admin-overlay[data-v-2eddef98]{display:none}}.admin-sidebar[data-v-2eddef98]{width:260px;background:var(--admin-sidebar-bg);border-right:1px solid #eee;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .3s ease}.admin-sidebar.show[data-v-2eddef98]{transform:translate(0);background:var(--admin-sidebar-bg)}@media (min-width: 768px){.admin-sidebar[data-v-2eddef98]{position:sticky;top:0;height:100vh;transform:none;flex-shrink:0}}.admin-sidebar-header[data-v-2eddef98]{padding:20px;border-bottom:1px solid #eee}.admin-sidebar-logo[data-v-2eddef98]{display:flex;align-items:center;gap:12px}.admin-sidebar-logo-icon[data-v-2eddef98]{width:40px;height:40px;color:var(--admin-primary)}.admin-sidebar-title[data-v-2eddef98]{font-size:18px;font-weight:700;color:#1a1a1a}.admin-sidebar-subtitle[data-v-2eddef98]{font-size:12px;color:#999}.admin-nav[data-v-2eddef98]{flex:1;padding:16px 12px;overflow-y:auto}.admin-nav-group[data-v-2eddef98]{margin-bottom:24px}.admin-nav-group-title[data-v-2eddef98]{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;padding:0 12px;margin-bottom:8px}.admin-nav-item[data-v-2eddef98]{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14px;color:#666;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s;text-align:left}.admin-nav-item[data-v-2eddef98]:hover{background:#f5f5f5;color:#1a1a1a}.admin-nav-item.active[data-v-2eddef98]{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;font-weight:500;box-shadow:0 2px 8px #ff6b354d}.admin-nav-item.active .admin-nav-icon[data-v-2eddef98]{color:#fff}.admin-nav-icon[data-v-2eddef98]{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.admin-sidebar-footer[data-v-2eddef98]{padding:16px;border-top:1px solid #eee}.admin-logout-btn[data-v-2eddef98]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:14px;color:#e53935;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s}.admin-logout-btn[data-v-2eddef98]:hover{background:#e539351a}.admin-main[data-v-2eddef98]{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin-mobile-header[data-v-2eddef98]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:30}@media (min-width: 768px){.admin-mobile-header[data-v-2eddef98]{display:none}}.admin-menu-btn[data-v-2eddef98]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;color:#666}.admin-menu-btn[data-v-2eddef98]:hover{background:#f5f5f5}.admin-mobile-title[data-v-2eddef98]{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.admin-content[data-v-2eddef98]{flex:1;overflow-y:auto}.admin-page[data-v-2eddef98]{padding:24px}@media (max-width: 767px){.admin-page[data-v-2eddef98]{padding:16px}}.admin-page-header[data-v-2eddef98]{margin-bottom:24px}.admin-page-header-flex[data-v-2eddef98]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.admin-page-title[data-v-2eddef98]{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.admin-page-desc[data-v-2eddef98]{font-size:14px;color:#666;margin:0}.admin-stats-grid[data-v-2eddef98]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.admin-stat-card[data-v-2eddef98]{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.admin-stat-icon[data-v-2eddef98]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-stat-icon-blue[data-v-2eddef98]{background:#e3f2fd;color:#1976d2}.admin-stat-icon-green[data-v-2eddef98]{background:#e8f5e9;color:#388e3c}.admin-stat-icon-purple[data-v-2eddef98]{background:#f3e5f5;color:#7b1fa2}.admin-stat-icon-orange[data-v-2eddef98]{background:#fff3e0;color:#f57c00}.admin-voice-stats[data-v-2eddef98]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.admin-loading[data-v-2eddef98]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#666}.admin-spinner[data-v-2eddef98]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#1976d2;border-radius:50%;animation:spin-2eddef98 .8s linear infinite;margin-bottom:12px}@keyframes spin-2eddef98{to{transform:rotate(360deg)}}.admin-stat-label[data-v-2eddef98]{font-size:13px;color:#666;margin:0}.admin-stat-value[data-v-2eddef98]{font-size:28px;font-weight:700;color:#1a1a1a;margin:4px 0 0}.admin-stat-sub[data-v-2eddef98]{font-size:12px;color:#999;margin:4px 0 0}.admin-card[data-v-2eddef98]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.admin-card-header[data-v-2eddef98]{padding:16px 20px;border-bottom:1px solid #eee}.admin-card-title[data-v-2eddef98]{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.admin-card-body[data-v-2eddef98]{padding:20px}.admin-filter-card[data-v-2eddef98]{margin-bottom:16px;padding:16px 20px}.admin-filter-grid[data-v-2eddef98]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px}.admin-filter-item[data-v-2eddef98]{display:flex;flex-direction:column;gap:6px}.admin-filter-label[data-v-2eddef98]{font-size:13px;font-weight:500;color:#666}.admin-input[data-v-2eddef98],.admin-select[data-v-2eddef98]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;transition:border-color .2s,box-shadow .2s}.admin-input[data-v-2eddef98]:focus,.admin-select[data-v-2eddef98]:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.admin-input[data-v-2eddef98]::-moz-placeholder{color:#999}.admin-input[data-v-2eddef98]::placeholder{color:#999}.admin-filter-actions[data-v-2eddef98]{display:flex;gap:8px}.admin-user-list[data-v-2eddef98]{display:flex;flex-direction:column;gap:8px}.admin-user-item[data-v-2eddef98]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9f9f9;border-radius:8px}.admin-user-info[data-v-2eddef98]{display:flex;align-items:center;gap:12px}.admin-online-dot[data-v-2eddef98]{width:8px;height:8px;background:#4caf50;border-radius:50%}.admin-user-name[data-v-2eddef98]{font-weight:500;color:#1a1a1a}.admin-user-time[data-v-2eddef98]{font-size:13px;color:#999}.admin-tag[data-v-2eddef98]{display:inline-block;padding:2px 8px;font-size:12px;font-weight:500;border-radius:6px}.admin-tag-gray[data-v-2eddef98]{background:#f0f0f0;color:#666}.admin-tag-green[data-v-2eddef98]{background:#e8f5e9;color:#388e3c}.admin-tag-red[data-v-2eddef98]{background:#ffebee;color:#c62828}.admin-tag-blue[data-v-2eddef98]{background:#e3f2fd;color:#1976d2}.admin-tag-orange[data-v-2eddef98]{background:#fff3e0;color:#f57c00}.admin-table-wrapper[data-v-2eddef98]{overflow-x:auto}.admin-table[data-v-2eddef98]{width:100%;border-collapse:collapse;display:none}@media (min-width: 768px){.admin-table[data-v-2eddef98]{display:table}}.admin-table thead[data-v-2eddef98]{background:#f9f9f9}.admin-table th[data-v-2eddef98]{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.admin-table td[data-v-2eddef98]{padding:12px 16px;font-size:14px;color:#1a1a1a;border-top:1px solid #eee}.admin-table tbody tr[data-v-2eddef98]:hover{background:#f9f9f9}.admin-table-actions[data-v-2eddef98]{display:flex;gap:8px;flex-wrap:nowrap}.admin-card-list[data-v-2eddef98]{display:flex;flex-direction:column}@media (min-width: 768px){.admin-card-list[data-v-2eddef98]{display:none}}.admin-list-item[data-v-2eddef98]{padding:16px;border-bottom:1px solid #eee}.admin-list-item[data-v-2eddef98]:last-child{border-bottom:none}.admin-btn[data-v-2eddef98]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-btn[data-v-2eddef98]:disabled{opacity:.5;cursor:not-allowed}.admin-btn-sm[data-v-2eddef98]{padding:6px 12px;font-size:13px}.admin-btn-primary[data-v-2eddef98]{background:var(--admin-primary);color:#fff}.admin-btn-primary[data-v-2eddef98]:hover:not(:disabled){background:var(--admin-primary-hover)}.admin-btn-danger[data-v-2eddef98]{background:var(--admin-danger);color:#fff}.admin-btn-danger[data-v-2eddef98]:hover:not(:disabled){background:#c62828}.admin-btn-warning[data-v-2eddef98]{background:var(--admin-warning);color:#fff}.admin-btn-warning[data-v-2eddef98]:hover:not(:disabled){background:#f57c00}.admin-btn-outline[data-v-2eddef98]{background:#fff;color:#666;border:1px solid #ddd}.admin-btn-outline[data-v-2eddef98]:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.admin-btn-danger-outline[data-v-2eddef98]{background:#fff;color:var(--admin-danger);border:1px solid var(--admin-danger)}.admin-btn-danger-outline[data-v-2eddef98]:hover:not(:disabled){background:#ffebee}.admin-btn-warning-outline[data-v-2eddef98]{background:#fff;color:var(--admin-warning);border:1px solid var(--admin-warning)}.admin-btn-warning-outline[data-v-2eddef98]:hover:not(:disabled){background:#fff3e0}.admin-link[data-v-2eddef98]{color:var(--admin-primary);background:none;border:none;padding:0;font-size:inherit;cursor:pointer;transition:opacity .15s}.admin-link[data-v-2eddef98]:hover{opacity:.8}.admin-link-danger[data-v-2eddef98]{color:var(--admin-danger);background:none;border:none;padding:0;font-size:inherit;cursor:pointer;transition:opacity .15s}.admin-link-danger[data-v-2eddef98]:hover{opacity:.8}.admin-empty[data-v-2eddef98]{text-align:center;padding:32px 16px}.admin-empty-large[data-v-2eddef98]{text-align:center;padding:48px 16px}.admin-filter-bar[data-v-2eddef98]{display:flex;flex-wrap:wrap;gap:12px;padding:16px;align-items:center}.admin-filter-input[data-v-2eddef98],.admin-filter-select[data-v-2eddef98]{padding:8px 12px;font-size:14px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#1a1a1a}.admin-filter-input[data-v-2eddef98]:focus,.admin-filter-select[data-v-2eddef98]:focus{outline:none;border-color:var(--admin-primary)}.admin-batch-actions[data-v-2eddef98]{display:flex;align-items:center;gap:8px;margin-left:auto}.admin-pagination[data-v-2eddef98]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;background:#f9f9f9;border-top:1px solid #eee}.admin-pagination-controls[data-v-2eddef98]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-page-jump[data-v-2eddef98]{display:flex;align-items:center;gap:6px}.admin-page-input[data-v-2eddef98]{width:60px;padding:6px 8px;font-size:14px;text-align:center;border:1px solid #ddd;border-radius:6px;background:#fff}.admin-page-input[data-v-2eddef98]:focus{outline:none;border-color:var(--admin-primary)}.admin-page-total[data-v-2eddef98]{font-size:14px;color:#666}.admin-page-num[data-v-2eddef98]{padding:6px 12px;font-size:14px;font-weight:500}.admin-file-grid[data-v-2eddef98]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.admin-file-card[data-v-2eddef98]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.admin-file-preview[data-v-2eddef98]{aspect-ratio:16/9;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.admin-file-info[data-v-2eddef98]{padding:12px}.admin-emoji-grid[data-v-2eddef98]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.admin-emoji-card[data-v-2eddef98]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.admin-emoji-preview[data-v-2eddef98]{aspect-ratio:1;background:#f5f5f5;padding:16px}.admin-emoji-info[data-v-2eddef98]{padding:12px}.admin-settings-list[data-v-2eddef98]{display:flex;flex-direction:column;gap:20px}.admin-setting-item[data-v-2eddef98]{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-setting-info[data-v-2eddef98]{flex:1}.admin-setting-title[data-v-2eddef98]{font-size:15px;font-weight:500;color:#1a1a1a;margin:0}.admin-setting-desc[data-v-2eddef98]{font-size:13px;color:#666;margin:4px 0 0}.admin-settings-footer[data-v-2eddef98]{margin-top:24px;padding-top:20px;border-top:1px solid #eee}.admin-btn-save[data-v-2eddef98]{width:100%;padding:14px 24px;font-size:16px;font-weight:600}.admin-toggle[data-v-2eddef98]{width:20px;height:20px;accent-color:var(--admin-primary)}.admin-input-sm[data-v-2eddef98],.admin-select-sm[data-v-2eddef98]{width:120px;padding:8px 12px;font-size:14px;border:1px solid #ddd;border-radius:8px}.admin-input-sm[data-v-2eddef98]:focus,.admin-select-sm[data-v-2eddef98]:focus{outline:none;border-color:var(--admin-primary)}.admin-divider[data-v-2eddef98]{border:none;border-top:1px solid #eee;margin:24px 0}.admin-section-title[data-v-2eddef98]{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.admin-checkbox[data-v-2eddef98]{width:16px;height:16px;accent-color:var(--admin-primary)}.admin-modal-overlay[data-v-2eddef98]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.admin-modal[data-v-2eddef98]{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto}.admin-modal-lg[data-v-2eddef98]{max-width:600px}.admin-modal-header[data-v-2eddef98]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-modal-title[data-v-2eddef98]{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.admin-modal-header .admin-modal-title[data-v-2eddef98]{margin:0}.admin-modal-close[data-v-2eddef98]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#999;cursor:pointer}.admin-modal-close[data-v-2eddef98]:hover{background:#f5f5f5;color:#666}.admin-modal-text[data-v-2eddef98]{font-size:14px;color:#666;margin:0 0 16px}.admin-modal-checkbox[data-v-2eddef98]{display:flex;align-items:center;gap:8px;font-size:14px;color:#666;margin-bottom:20px}.admin-modal-actions[data-v-2eddef98]{display:flex;gap:12px;justify-content:flex-end}.admin-modal-body[data-v-2eddef98]{display:flex;flex-direction:column;gap:8px}.admin-message-item[data-v-2eddef98]{padding:12px;background:#f9f9f9;border-radius:8px}.fade-enter-active[data-v-2eddef98],.fade-leave-active[data-v-2eddef98]{transition:opacity .3s ease}.fade-enter-from[data-v-2eddef98],.fade-leave-to[data-v-2eddef98]{opacity:0}:root{--admin-primary: #ff6b35;--admin-primary-hover: #e85a28;--admin-primary-light: #fff5f2;--admin-danger: #e53935;--admin-warning: #ff9800;--admin-success: #4caf50;--admin-bg: #f5f5f5;--admin-sidebar-bg: #ffffff;--admin-card-bg: #ffffff}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-full{bottom:100%}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-12{top:3rem}.top-14{top:3.5rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[18px\]{height:18px}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[18px\]{min-width:18px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-50{--tw-bg-opacity: .5}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.dark ::-webkit-scrollbar-track{background:#1a1a1a}.dark ::-webkit-scrollbar-thumb{background:#444}.dark ::-webkit-scrollbar-thumb:hover{background:#555}.chat-room-container{height:100vh;height:100dvh;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0}.message-enter-active{animation:message-in .3s ease-out}@keyframes message-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-recalled{opacity:.6;font-style:italic}.chat-wallpaper{background-color:var(--bg-chat);background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.dark .chat-wallpaper{background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.tg-msg-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500;flex-shrink:0;margin-top:auto;margin-bottom:2px}.tg-bubble{position:relative;max-width:65%;padding:8px 12px;border-radius:12px;box-shadow:0 1px 2px #0000001a;word-wrap:break-word;transition:background-color .15s ease}.tg-bubble-out{background-color:var(--bubble-out);margin-left:auto;border-bottom-right-radius:4px}.tg-bubble-out:hover{background-color:var(--bubble-out-hover)}.tg-bubble-out:after{content:"";position:absolute;right:-8px;bottom:0;width:0;height:0;border:8px solid transparent;border-left-color:var(--bubble-out);border-bottom-color:var(--bubble-out);border-bottom-right-radius:4px}.tg-bubble-out:hover:after{border-left-color:var(--bubble-out-hover);border-bottom-color:var(--bubble-out-hover)}.tg-bubble-in{background-color:var(--bubble-in);margin-right:auto;border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000001f}.dark .tg-bubble-in{box-shadow:0 1px 4px #0000004d}.tg-bubble-in:hover{background-color:var(--bubble-in-hover)}.tg-bubble-mentioned{border-left:3px solid var(--primary, #0088cc);background:linear-gradient(90deg,rgba(0,136,204,.08) 0%,transparent 100%)}.tg-bubble-mentioned.tg-bubble-out{border-left:none;border-right:3px solid var(--primary, #0088cc);background:linear-gradient(-90deg,rgba(0,136,204,.08) 0%,transparent 100%)}.tg-bubble-in:after{content:"";position:absolute;left:-8px;bottom:0;width:0;height:0;border:8px solid transparent;border-right-color:var(--bubble-in);border-bottom-color:var(--bubble-in);border-bottom-left-radius:4px}.tg-bubble-in:hover:after{border-right-color:var(--bubble-in-hover);border-bottom-color:var(--bubble-in-hover)}.tg-bubble-time{font-size:11px;color:var(--text-tertiary);margin-left:8px;white-space:nowrap}.tg-bubble-out .tg-bubble-time{color:#00800080}.dark .tg-bubble-out .tg-bubble-time{color:#ffffff80}.tg-date-divider{display:flex;justify-content:center;padding:8px 0}.tg-date-divider span{background-color:#0000004d;color:#fff;font-size:13px;padding:4px 12px;border-radius:12px}.dark .tg-date-divider span{background-color:#00000080}.tg-username{font-size:13px;font-weight:500;margin-bottom:2px}.tg-username-1{color:#c03d33}.tg-username-2{color:#4fad2d}.tg-username-3{color:#d09306}.tg-username-4{color:#168acd}.tg-username-5{color:#8544d6}.tg-username-6{color:#cd4073}.tg-username-7{color:#2996ad}.tg-username-8{color:#ce671b}.tg-chat-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:background-color .15s ease;border-radius:8px;margin:0 8px}.tg-chat-item:hover{background-color:var(--list-item-hover)}.tg-chat-item.active{background-color:var(--list-item-active)}.tg-chat-item.active *{color:#fff!important}.tg-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;color:#fff;flex-shrink:0}.tg-chat-info{flex:1;min-width:0;margin-left:12px}.tg-chat-name{font-size:15px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-chat-preview{font-size:14px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.tg-chat-sender{color:var(--primary);font-weight:500}.tg-chat-item.active .tg-chat-sender{color:#ffffffd9}.tg-chat-meta{display:flex;flex-direction:column;align-items:flex-end;margin-left:8px}.tg-chat-time{font-size:12px;color:var(--text-tertiary)}.tg-chat-item.active .tg-chat-time{color:#ffffffb3}.tg-badge{min-width:20px;height:20px;padding:0 6px;background-color:var(--badge);color:var(--badge-text);font-size:12px;font-weight:500;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-top:4px}.tg-mention-badge{width:20px;height:20px;background-color:var(--primary, #0088cc);color:#fff;font-size:12px;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:4px}.tg-input-container{display:flex;flex-direction:column;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background-color:var(--bg-primary);border-top:1px solid var(--border-light);position:sticky;bottom:0;z-index:10;flex-shrink:0}.tg-input{flex:1;min-height:40px;max-height:120px;padding:10px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:20px;font-size:15px;color:var(--text-primary);resize:none;outline:none;transition:border-color .15s ease}.tg-input:focus{border-color:var(--primary)}.tg-input::-moz-placeholder{color:var(--text-tertiary)}.tg-input::placeholder{color:var(--text-tertiary)}.tg-btn-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.tg-btn-circle:hover{background-color:var(--bg-hover)}.tg-btn-send{background-color:var(--primary);color:#fff}.tg-btn-send:hover{background-color:var(--primary-hover);transform:scale(1.05)}.tg-btn-send svg{width:20px;height:20px}.tg-header{display:flex;align-items:center;padding:8px 16px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);min-height:56px;flex-shrink:0;position:sticky;top:0;z-index:10}.tg-header-info{flex:1;min-width:0;margin-left:12px;cursor:pointer}.tg-header-title{font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-header-subtitle{font-size:13px;color:var(--text-secondary)}.tg-fade-in{animation:tgFadeIn .2s ease-out}@keyframes tgFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tgSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.tg-slide-in{animation:tgSlideIn .25s ease-out}.tg-message-content{display:inline;word-wrap:break-word;color:#000}.dark .tg-message-content{color:#fff}.tg-message-content .tg-bubble-time{float:right;margin-left:8px;margin-top:4px}.tg-reply-quote{padding:6px 8px;margin-bottom:6px;border-left:2px solid var(--primary);border-radius:4px;background:#0000000d;cursor:pointer}.dark .tg-reply-quote{background:#ffffff14}.tg-reply-name{font-size:12px;font-weight:500;margin-bottom:2px}.tg-reply-text{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.tg-reply-media{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.tg-reply-thumb{width:32px;height:32px;border-radius:4px;-o-object-fit:cover;object-fit:cover;cursor:pointer}.tg-media-message{position:relative;max-width:300px;border-radius:8px;overflow:hidden}.tg-media-img{display:block;width:100%;max-height:400px;-o-object-fit:cover;object-fit:cover;cursor:pointer;transition:transform .15s ease}.tg-media-img:hover{transform:scale(1.02)}.tg-media-video{display:block;width:100%;max-height:400px}.tg-media-time{position:absolute;bottom:6px;right:6px;padding:2px 6px;font-size:11px;color:#fff;background:#00000080;border-radius:8px}.tg-file-message{display:flex;align-items:center;gap:10px;position:relative;padding-bottom:4px;min-width:200px}.tg-file-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--primary);border-radius:50%;flex-shrink:0;color:#fff}.tg-file-info{flex:1;min-width:0}.tg-file-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-file-size{font-size:12px;color:var(--text-tertiary);margin-top:2px}.tg-file-download{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--primary);transition:background-color .15s ease}.tg-file-download:hover{background:var(--bg-hover)}.tg-location-message{max-width:280px;border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.tg-location-map{position:relative;height:140px;background:linear-gradient(135deg,#667eea,#764ba2)}.tg-location-map img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tg-location-pin{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.tg-location-info{padding:10px 12px}.tg-location-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.tg-location-coords{font-size:12px;color:var(--text-tertiary);margin-bottom:8px}.tg-location-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;font-size:13px;font-weight:500;color:#fff;background:var(--primary);border-radius:8px;transition:background-color .15s ease}.tg-location-btn:hover{background:var(--primary-hover)}.tg-system-message{display:inline-block;padding:4px 12px;font-size:13px;color:#fff;background:#0000004d;border-radius:12px}.dark .tg-system-message{background:#00000080}.tg-header .tg-avatar{width:40px;height:40px;font-size:16px}.tg-message-in{animation:tgMessageIn .25s ease-out}@keyframes tgMessageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (hover: none){.tg-bubble:active{opacity:.9;transform:scale(.98)}.tg-chat-item:active{background-color:var(--bg-pressed)!important}}.tg-selected{background:var(--primary-light)!important}.tg-read-indicator{color:var(--primary);margin-left:4px}.tg-online-dot{width:10px;height:10px;background:#4caf50;border-radius:50%;border:2px solid var(--bg-primary);position:absolute;bottom:0;right:0}*{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}.dark *{scrollbar-color:#444 #1a1a1a}.app-container{min-height:100vh;min-height:100dvh;background-color:var(--bg-secondary)}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.dark .login-page{background:linear-gradient(135deg,#1a1a2e,#16213e)}.login-card{width:100%;max-width:380px;background:var(--bg-primary);border-radius:16px;padding:32px 28px;box-shadow:0 10px 40px #0003}.dark .login-card{box-shadow:0 10px 40px #0006}.login-banner{text-align:center;margin-bottom:24px}.login-banner-img{max-width:240px;width:100%;height:auto;margin:0 auto 12px;display:block}.login-logo{text-align:center;margin-bottom:28px}.login-logo-img{width:100px;height:100px;margin:0 auto 16px;border-radius:20px;-o-object-fit:cover;object-fit:cover}.login-logo-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-logo-icon svg{width:40px;height:40px}.login-icon-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.login-title{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.login-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.login-tabs{display:flex;margin-bottom:24px;background:var(--bg-secondary);border-radius:12px;padding:4px}.login-tab{flex:1;padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.login-tab:hover{color:var(--text-primary)}.login-tab.active{background:var(--bg-primary);color:var(--primary);box-shadow:0 2px 8px #00000014}.dark .login-tab.active{box-shadow:0 2px 8px #0003}.login-error{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;background:#e539351a;border:1px solid rgba(229,57,53,.2);border-radius:10px;color:#e53935;font-size:13px}.login-error svg{flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:16px}.login-input-group{position:relative}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-tertiary);pointer-events:none;transition:color .2s ease}.login-input{width:100%;height:48px;padding:0 16px 0 44px;font-size:15px;color:var(--text-primary);background:var(--bg-secondary);border:2px solid transparent;border-radius:12px;outline:none;transition:all .2s ease}.login-input::-moz-placeholder{color:var(--text-tertiary)}.login-input::placeholder{color:var(--text-tertiary)}.login-input:focus{background:var(--bg-primary);border-color:var(--primary)}.login-input:focus+.login-input-icon,.login-input-group:focus-within .login-input-icon{color:var(--primary)}.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;font-size:15px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-top:8px}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-primary{background:linear-gradient(135deg,#08c,#0077b5);color:#fff}.login-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0077b5,#00669a);transform:translateY(-1px);box-shadow:0 4px 12px #0088cc4d}.login-btn-success{background:linear-gradient(135deg,#4caf50,#43a047);color:#fff}.login-btn-success:hover:not(:disabled){background:linear-gradient(135deg,#43a047,#388e3c);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loginSpin .8s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{margin-top:24px;text-align:center}.login-admin-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.login-admin-link:hover{color:var(--primary)}.login-admin-link svg{width:16px;height:16px}@media (max-width: 480px){.login-page{padding:60px 16px 16px;align-items:flex-start}.login-card{padding:24px 20px}.login-banner-img{max-width:200px}.login-logo-img{width:80px;height:80px;border-radius:16px}.login-logo-icon{width:64px;height:64px}.login-logo-icon svg{width:36px;height:36px}.login-title{font-size:22px}}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-opacity-10:hover{--tw-bg-opacity: .1}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 768px){.md\:relative{position:relative}.md\:block{display:block}.md\:hidden{display:none}.md\:w-80{width:20rem}.md\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}
