.modal-overlay[data-v-f0964168]{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-f0964168]{background:var(--color-bg-primary);border-radius:var(--radius-lg);width:360px;box-shadow:var(--shadow-lg);position:relative}.close-btn[data-v-f0964168]{width:28px;height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:background var(--transition-fast);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;top:12px;right:12px}.close-btn[data-v-f0964168]:hover{background:var(--color-bg-tertiary)}.modal-header[data-v-f0964168]{text-align:center;padding:30px 24px 20px}.logo[data-v-f0964168]{margin-bottom:8px;font-size:24px;font-weight:700}.subtitle[data-v-f0964168]{color:var(--color-text-secondary);font-size:14px}.modal-body[data-v-f0964168]{padding:0 24px 24px}.error-message[data-v-f0964168]{color:var(--color-danger);border-radius:var(--radius-md);background:#fef2f2;margin-bottom:16px;padding:10px 12px;font-size:13px}.form-group[data-v-f0964168]{margin-bottom:16px}.form-group label[data-v-f0964168]{color:var(--color-text-secondary);align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.countdown-hint[data-v-f0964168]{color:var(--color-text-muted);font-size:11px;font-weight:400}.countdown-hint.expired[data-v-f0964168]{color:var(--color-danger)}.form-group input[data-v-f0964168]{border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;width:100%;height:40px;padding:0 12px;font-size:14px}.form-group input[data-v-f0964168]:focus{border-color:var(--color-primary);outline:none}.input-row[data-v-f0964168]{align-items:center;gap:8px;display:flex}.captcha-wrapper[data-v-f0964168]{flex-shrink:0;align-items:center;gap:6px;display:flex}.captcha-img[data-v-f0964168]{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);object-fit:contain;background:#f0f4f8;width:90px;height:40px}.refresh-btn[data-v-f0964168]{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:36px;height:40px;transition:background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.refresh-btn[data-v-f0964168]:hover{background:var(--color-border)}.submit-btn[data-v-f0964168]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);width:100%;height:44px;transition:background var(--transition-fast);font-size:15px;font-weight:600}.submit-btn[data-v-f0964168]:hover:not(:disabled){background:var(--color-primary-dark)}.submit-btn[data-v-f0964168]:disabled{opacity:.7;cursor:not-allowed}.switch-mode[data-v-f0964168]{text-align:center;color:var(--color-text-muted);margin-top:20px;font-size:13px}.switch-mode a[data-v-f0964168]{color:var(--color-primary);font-weight:500}.switch-mode .divider[data-v-f0964168]{color:var(--color-border);margin:0 6px}.toast[data-v-fc23e76d]{z-index:9999;pointer-events:none;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.toast.success[data-v-fc23e76d]{color:#fff;background:#16a34a}.toast.error[data-v-fc23e76d]{color:#fff;background:#dc2626}.toast.info[data-v-fc23e76d]{color:#fff;background:#2563eb}.toast-icon[data-v-fc23e76d]{font-size:16px}.toast-enter-active[data-v-fc23e76d],.toast-leave-active[data-v-fc23e76d]{transition:opacity .3s,transform .3s}.toast-enter-from[data-v-fc23e76d],.toast-leave-to[data-v-fc23e76d]{opacity:0;transform:translate(-50%)translateY(-10px)}.modal-overlay[data-v-cd8b8955]{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-cd8b8955]{background:var(--color-bg-primary);border-radius:var(--radius-lg);width:360px;box-shadow:var(--shadow-lg);position:relative}.close-btn[data-v-cd8b8955]{width:28px;height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:background var(--transition-fast);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;top:12px;right:12px}.close-btn[data-v-cd8b8955]:hover{background:var(--color-bg-tertiary)}.modal-header[data-v-cd8b8955]{text-align:center;padding:30px 24px 20px}.logo[data-v-cd8b8955]{margin-bottom:8px;font-size:24px;font-weight:700}.subtitle[data-v-cd8b8955]{color:var(--color-text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.step-hint[data-v-cd8b8955]{color:var(--color-text-muted);font-size:13px}.modal-body[data-v-cd8b8955]{padding:0 24px 24px}.error-message[data-v-cd8b8955]{color:var(--color-danger);border-radius:var(--radius-md);background:#fef2f2;margin-bottom:16px;padding:10px 12px;font-size:13px}.success-message[data-v-cd8b8955]{color:var(--color-success);border-radius:var(--radius-md);background:#22c55e1a;margin-bottom:16px;padding:10px 12px;font-size:13px}.form-group[data-v-cd8b8955]{margin-bottom:16px}.form-group label[data-v-cd8b8955]{color:var(--color-text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group input[data-v-cd8b8955]{border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;width:100%;height:40px;padding:0 12px;font-size:14px}.form-group input[data-v-cd8b8955]:focus{border-color:var(--color-primary);outline:none}.input-row[data-v-cd8b8955]{align-items:center;gap:8px;display:flex}.captcha-wrapper[data-v-cd8b8955]{flex-shrink:0;align-items:center;gap:6px;display:flex}.captcha-img[data-v-cd8b8955]{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);object-fit:contain;background:#f0f4f8;width:90px;height:40px}.refresh-btn[data-v-cd8b8955]{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:36px;height:40px;transition:background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.refresh-btn[data-v-cd8b8955]:hover{background:var(--color-border)}.send-btn[data-v-cd8b8955]{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);height:40px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);flex-shrink:0;padding:0 12px;font-size:13px}.send-btn[data-v-cd8b8955]:hover:not(:disabled){background:var(--color-border)}.send-btn[data-v-cd8b8955]:disabled{opacity:.6;cursor:not-allowed}.submit-btn[data-v-cd8b8955]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);width:100%;height:44px;transition:background var(--transition-fast);margin-top:8px;font-size:15px;font-weight:600}.submit-btn[data-v-cd8b8955]:hover:not(:disabled){background:var(--color-primary-dark)}.submit-btn[data-v-cd8b8955]:disabled{opacity:.7;cursor:not-allowed}.switch-mode[data-v-cd8b8955]{text-align:center;color:var(--color-text-muted);margin-top:20px;font-size:13px}.switch-mode a[data-v-cd8b8955]{color:var(--color-primary);font-weight:500}.password-hints[data-v-cd8b8955]{flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11px;display:flex}.password-hints>div[data-v-cd8b8955]{color:var(--color-danger)}.password-hints>div.ok[data-v-cd8b8955]{color:var(--color-success)}.send-btn .dot-anim[data-v-cd8b8955]{animation:.4s ease-in-out infinite dotblink-cd8b8955;display:inline-block}.send-btn .dot-anim[data-v-cd8b8955]:nth-child(2){animation-delay:.13s}.send-btn .dot-anim[data-v-cd8b8955]:nth-child(3){animation-delay:.26s}@keyframes dotblink-cd8b8955{0%,to{opacity:.3}50%{opacity:1}}.header[data-v-5b2519fc]{height:var(--header-height);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.header-left[data-v-5b2519fc]{flex:none}.logo[data-v-5b2519fc]{color:var(--color-text-primary);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.logo[data-v-5b2519fc]:hover{color:var(--color-text-primary)}.logo-img[data-v-5b2519fc]{width:100px;height:auto}.logo-text[data-v-5b2519fc]{white-space:nowrap}.header-center[data-v-5b2519fc]{flex:1;justify-content:center;max-width:600px;margin:0 20px;display:flex}.header-right[data-v-5b2519fc]{flex:none;align-items:center;gap:12px;display:flex;position:relative}.header-top-nav[data-v-5b2519fc]{align-items:center;gap:4px;display:flex}.top-nav-link[data-v-5b2519fc]{color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background var(--transition-fast), color var(--transition-fast);padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none}.top-nav-link[data-v-5b2519fc]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.top-nav-link.router-link-active[data-v-5b2519fc]{color:var(--color-primary)}.login-btn[data-v-5b2519fc]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);height:36px;transition:background var(--transition-fast);padding:0 16px;font-weight:500}.login-btn[data-v-5b2519fc]:hover{background:var(--color-primary-dark)}.user-menu[data-v-5b2519fc]{cursor:pointer;position:relative}.user-avatar[data-v-5b2519fc]{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:flex}.user-dropdown[data-v-5b2519fc]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);width:180px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-info[data-v-5b2519fc]{border-bottom:1px solid var(--color-border);padding:12px}.username[data-v-5b2519fc]{font-weight:600;display:block}.role[data-v-5b2519fc]{color:var(--color-text-muted);font-size:12px}.dropdown-divider[data-v-5b2519fc]{background:var(--color-border);height:1px}.dropdown-item[data-v-5b2519fc]{text-align:left;width:100%;transition:background var(--transition-fast);box-sizing:border-box;padding:10px 12px;display:block}.dropdown-item[data-v-5b2519fc]:hover{background:var(--color-bg-tertiary)}.mobile-menu-btn[data-v-5b2519fc]{background:var(--color-bg-tertiary);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:20px;display:none}.mobile-nav[data-v-5b2519fc]{top:var(--header-height);background:var(--color-bg-primary);z-index:200;width:280px;box-shadow:var(--shadow-lg);position:fixed;bottom:0;left:0;overflow-y:auto}.mobile-nav-header[data-v-5b2519fc]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px;display:flex}.mobile-nav-title[data-v-5b2519fc]{font-size:16px;font-weight:600}.mobile-nav-close[data-v-5b2519fc]{width:32px;height:32px;color:var(--color-text-muted);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:18px;display:flex}.mobile-nav-list[data-v-5b2519fc]{padding:12px}.mobile-nav-item[data-v-5b2519fc]{color:var(--color-text-primary);border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:center;gap:12px;padding:14px 16px;font-size:15px;display:flex}.mobile-nav-item[data-v-5b2519fc]:hover{background:var(--color-bg-secondary)}.mobile-nav-overlay[data-v-5b2519fc]{z-index:150;background:#00000080;position:fixed;inset:0}.header-nav[data-v-5b2519fc]{align-items:center;gap:24px;display:flex}.nav-link[data-v-5b2519fc]{color:var(--color-text-secondary);transition:color var(--transition-fast);cursor:pointer;font-size:15px;text-decoration:none}.nav-link[data-v-5b2519fc]:hover{color:var(--color-primary)}.nav-current[data-v-5b2519fc]{color:var(--color-primary);font-weight:600}@media (width<=768px){.header[data-v-5b2519fc]{padding:0 12px}.logo-text[data-v-5b2519fc],.header-center[data-v-5b2519fc]{display:none}.mobile-menu-btn[data-v-5b2519fc]{display:flex}.login-btn[data-v-5b2519fc]{padding:0 12px;font-size:13px}}.footer[data-v-b3e11c98]{height:var(--footer-height);background:var(--color-bg-primary);border-top:1px solid var(--color-border);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-content[data-v-b3e11c98]{color:var(--color-text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.divider[data-v-b3e11c98]{color:var(--color-border)}a[data-v-b3e11c98]{color:var(--color-text-muted)}a[data-v-b3e11c98]:hover{color:var(--color-primary)}.sidebar[data-v-2067c6e1]{width:var(--sidebar-width-expanded);height:calc(100vh - var(--header-height) - var(--footer-height));background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);top:var(--header-height);transition:width var(--transition-normal);z-index:50;position:fixed;left:0;overflow-y:auto}.sidebar.collapsed[data-v-2067c6e1]{width:var(--sidebar-width-collapsed)}.toggle-btn[data-v-2067c6e1]{width:20px;height:20px;color:var(--color-text-muted);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);transition:background var(--transition-fast);justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:10px;right:8px}.toggle-btn[data-v-2067c6e1]:hover{background:var(--color-border)}.category-nav[data-v-2067c6e1]{padding:40px 12px 20px}.nav-title[data-v-2067c6e1]{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 8px;font-size:11px;font-weight:600}.category-item[data-v-2067c6e1]{margin-bottom:2px}.category-header[data-v-2067c6e1]{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:6px;padding:8px;display:flex}.category-header[data-v-2067c6e1]:hover{background:var(--color-bg-tertiary)}.expand-icon[data-v-2067c6e1]{color:var(--color-text-muted);width:12px;font-size:8px}.category-name[data-v-2067c6e1]{font-size:13px;font-weight:500}.category-children[data-v-2067c6e1]{margin-left:18px}.child-item[data-v-2067c6e1]{color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);padding:6px 8px;font-size:12px}.child-item[data-v-2067c6e1]:hover{background:var(--color-bg-tertiary);color:var(--color-primary)}.quick-links[data-v-2067c6e1]{flex-direction:column;gap:2px;display:flex}.quick-link[data-v-2067c6e1]{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast);padding:8px;font-size:13px}.quick-link[data-v-2067c6e1]:hover{background:var(--color-bg-tertiary);color:var(--color-primary)}.chat-message[data-v-32ae13be]{gap:10px;margin-bottom:16px;display:flex}.message-avatar[data-v-32ae13be]{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.user .message-avatar[data-v-32ae13be]{background:var(--color-primary);color:#fff}.assistant .message-avatar[data-v-32ae13be]{background:var(--color-bg-tertiary)}.message-content[data-v-32ae13be]{flex:1;min-width:0}.thinking-hint[data-v-32ae13be]{background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;font-size:12px;animation:1.5s ease-in-out infinite pulse-32ae13be;display:flex}.thinking-icon[data-v-32ae13be]{font-size:14px}.thinking-text[data-v-32ae13be]{font-style:italic}@keyframes pulse-32ae13be{0%,to{opacity:.7}50%{opacity:1}}.message-text[data-v-32ae13be]{word-wrap:break-word;font-size:13px;line-height:1.6}.message-text[data-v-32ae13be] p{margin-bottom:8px}.message-text[data-v-32ae13be] code{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:2px 6px;font-family:Monaco,Menlo,monospace;font-size:12px}.message-text[data-v-32ae13be] pre{background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin:8px 0;padding:12px;overflow-x:auto}.message-text[data-v-32ae13be] pre code{background:0 0;padding:0}.message-text[data-v-32ae13be] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px}.message-text[data-v-32ae13be] th,.message-text[data-v-32ae13be] td{border:1px solid var(--color-border);text-align:left;padding:6px 8px}.message-text[data-v-32ae13be] th{background:var(--color-bg-tertiary);font-weight:600}.message-text[data-v-32ae13be] tr:nth-child(2n) td{background:var(--color-bg-secondary)}.sources[data-v-32ae13be]{margin-top:12px}.sources-title[data-v-32ae13be]{color:var(--color-text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.source-card[data-v-32ae13be]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 10px;display:flex}.source-info[data-v-32ae13be]{align-items:center;gap:6px;font-size:11px;display:flex}.source-index[data-v-32ae13be]{color:var(--color-primary);font-weight:600}.source-title[data-v-32ae13be]{color:var(--color-text-secondary)}.source-similarity[data-v-32ae13be]{color:var(--color-text-muted)}.source-link[data-v-32ae13be]{color:var(--color-primary);border-radius:var(--radius-sm);transition:background var(--transition-fast);padding:4px 8px;font-size:11px}.source-link[data-v-32ae13be]:hover{background:var(--color-bg-tertiary)}.message-time[data-v-32ae13be]{color:var(--color-text-muted);margin-top:4px;font-size:10px}.message-meta[data-v-32ae13be]{color:var(--color-text-muted);margin-top:2px;font-size:10px}.message-actions[data-v-32ae13be]{gap:4px;margin-top:8px;display:flex}.action-btn[data-v-32ae13be]{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:4px 8px;font-size:12px}.action-btn[data-v-32ae13be]:hover{background:var(--color-border)}.action-btn.active[data-v-32ae13be]{background:var(--color-primary);color:#fff}.chat-fab[data-v-352153d8]{bottom:calc(var(--footer-height) + 16px);background:var(--color-primary);border-radius:var(--radius-full);cursor:pointer;width:48px;height:48px;box-shadow:0 0 0 0 #3b82f680, var(--shadow-lg);z-index:1000;transition:transform var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;animation:2s ease-in-out infinite fab-pulse-352153d8;display:flex;position:fixed;right:16px}.chat-fab[data-v-352153d8]:hover{background:var(--color-primary-dark);animation:none;transform:scale(1.1)}.chat-icon[data-v-352153d8]{font-size:24px}.fab-quota-badge[data-v-352153d8]{color:#fff;text-align:center;background:#ef4444;border-radius:10px;min-width:32px;padding:2px 5px;font-size:10px;font-weight:700;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 4px #0003}@keyframes fab-pulse-352153d8{0%,to{box-shadow:0 0 0 0 #3b82f680, var(--shadow-lg);transform:scale(1)}50%{box-shadow:0 0 0 10px #3b82f600, var(--shadow-lg);transform:scale(1.05)}}.fab-tooltip[data-v-352153d8]{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;z-index:1001;background:#fef9c3;border:1px solid #fde047;min-width:100px;padding:8px 12px;animation:.3s tooltip-fadein-352153d8;position:absolute;bottom:calc(100% + 12px);right:0}.fab-tooltip-arrow[data-v-352153d8]{background:#fef9c3;border-bottom:1px solid #fde047;border-right:1px solid #fde047;width:12px;height:12px;position:absolute;bottom:-6px;right:20px;transform:rotate(45deg)}.fab-tooltip-text[data-v-352153d8]{color:var(--color-text-secondary);margin-bottom:6px;font-size:12px;line-height:1.4}.fab-tooltip-close[data-v-352153d8]{color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:12px}.fab-tooltip-close[data-v-352153d8]:hover{background:var(--color-bg-tertiary)}@keyframes tooltip-fadein-352153d8{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-panel[data-v-352153d8]{bottom:calc(var(--footer-height) + 16px);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;display:flex;position:fixed;right:16px;overflow:hidden}.chat-panel.fullscreen[data-v-352153d8]{border-radius:0}.chat-header[data-v-352153d8]{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:50px;padding:0 16px;display:flex}.chat-title[data-v-352153d8]{align-items:center;gap:8px;font-weight:600;display:flex}.title-icon[data-v-352153d8]{font-size:20px}.chat-actions[data-v-352153d8]{gap:8px;display:flex}.action-btn[data-v-352153d8]{width:28px;height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;font-size:16px;display:flex}.action-btn[data-v-352153d8]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.action-btn-text[data-v-352153d8]{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;padding:2px 8px;font-size:12px}.action-btn-text[data-v-352153d8]:hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.chat-sidebar[data-v-352153d8]{border-right:1px solid var(--color-border);background:var(--color-bg-secondary);z-index:10;flex-direction:column;flex-shrink:0;width:130px;height:calc(100% - 50px);transition:width .2s;display:flex;position:absolute;top:50px;left:0}.chat-sidebar.collapsed[data-v-352153d8]{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);width:20px;height:24px}.sidebar-toggle[data-v-352153d8]{text-align:center;color:#93c5fd;cursor:pointer;background:var(--color-bg-sidebar);border:none;border-bottom:1px solid var(--color-border);flex-shrink:0;width:100%;height:24px;padding:0;font-size:10px;line-height:normal;display:block}.chat-sidebar.collapsed .sidebar-toggle[data-v-352153d8]{color:#93c5fd;border-bottom:none;height:100%;font-size:10px}.new-chat-btn[data-v-352153d8]{text-align:left;color:var(--color-primary);border-bottom:1px solid var(--color-border);padding:10px;font-size:12px}.new-chat-btn[data-v-352153d8]:hover{background:var(--color-bg-tertiary)}.session-list[data-v-352153d8]{flex:1;overflow-y:auto}.session-item[data-v-352153d8]{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex;overflow:hidden}.session-item[data-v-352153d8]:hover{background:var(--color-bg-tertiary)}.session-title[data-v-352153d8]{text-overflow:ellipsis;flex:1;overflow:hidden}.session-actions[data-v-352153d8]{flex-shrink:0;gap:2px;display:none}.session-item:hover .session-actions[data-v-352153d8]{display:flex}.session-action[data-v-352153d8]{width:18px;height:18px;color:var(--color-text-muted);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.session-action[data-v-352153d8]:hover{background:var(--color-bg-tertiary)}.session-delete[data-v-352153d8]:hover{color:#ff6464;background:#ff646433}.session-rename-input[data-v-352153d8]{border:1px solid var(--color-primary);border-radius:var(--radius-sm);outline:none;flex:1;width:100%;padding:2px 4px;font-size:11px}.session-item.active[data-v-352153d8]{background:var(--color-primary);color:#fff}.chat-messages[data-v-352153d8]{flex:1;padding:20px 16px;overflow-y:auto}.empty-state[data-v-352153d8]{text-align:center;height:100%;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon[data-v-352153d8]{margin-bottom:16px;font-size:48px}.empty-title[data-v-352153d8]{color:var(--color-text-secondary);margin-bottom:8px;font-size:16px;font-weight:500}.empty-hint[data-v-352153d8]{font-size:12px;line-height:1.6}.loading-indicator[data-v-352153d8]{justify-content:center;gap:4px;padding:12px;display:flex}.loading-dot[data-v-352153d8]{background:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both bounce-352153d8}.loading-dot[data-v-352153d8]:first-child{animation-delay:-.32s}.loading-dot[data-v-352153d8]:nth-child(2){animation-delay:-.16s}@keyframes bounce-352153d8{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.error-message[data-v-352153d8]{color:#ff6464;border-radius:var(--radius-md);text-align:center;background:#ff64641a;margin-bottom:12px;padding:8px 12px;font-size:12px}.chat-input-area[data-v-352153d8]{border-top:1px solid var(--color-border);padding:12px}.login-prompt[data-v-352153d8]{text-align:center}.login-prompt-btn[data-v-352153d8]{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background var(--transition-fast);padding:10px 20px;font-size:12px}.login-prompt-btn[data-v-352153d8]:hover{background:var(--color-border)}.login-hint[data-v-352153d8]{color:var(--color-text-muted);text-align:center;margin-top:6px;font-size:11px}.login-hint-btn[data-v-352153d8]{color:var(--color-primary);font-size:11px}.login-hint-btn[data-v-352153d8]:hover{text-decoration:underline}.input-row[data-v-352153d8]{gap:8px;display:flex}.chat-input[data-v-352153d8]{resize:none;border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;padding:8px 12px;font-size:13px;line-height:1.5}.chat-input[data-v-352153d8]:focus{border-color:var(--color-primary);outline:none}.send-btn[data-v-352153d8]{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);transition:background var(--transition-fast);padding:8px 16px;font-weight:500}.send-btn[data-v-352153d8]:hover:not(:disabled){background:var(--color-primary-dark)}.send-btn[data-v-352153d8]:disabled{background:var(--color-border);cursor:not-allowed}.cancel-btn[data-v-352153d8]{color:#fff;border-radius:var(--radius-md);transition:background var(--transition-fast);background:#dc3545;flex-shrink:0;padding:8px 16px;font-weight:500}.cancel-btn[data-v-352153d8]:hover{background:#c82333}.quota-hint[data-v-352153d8]{color:var(--color-text-muted);text-align:right;margin-top:4px;font-size:10px}.quota-hint[data-v-352153d8]:not(.quota-remaining){color:#dc3545}.question-length-hint[data-v-352153d8]{color:var(--color-text-muted);text-align:right;margin-top:4px;font-size:10px}.question-length-hint.over-limit[data-v-352153d8]{color:#dc3545}.length-tooltip-icon[data-v-352153d8]{cursor:help;vertical-align:top;color:#93c5fd;margin-left:2px;font-size:11px;font-style:normal;display:inline-block;position:relative}.length-tooltip-icon[data-v-352153d8]:hover:after{content:attr(data-tooltip);color:#374151;white-space:nowrap;z-index:100;background:#fff;border-radius:6px;padding:6px 10px;font-size:11px;line-height:1.4;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 2px 8px #00000026}.app[data-v-3c00f4f5]{flex-direction:column;min-height:100vh;display:flex}.app-body[data-v-3c00f4f5],.app-body-full[data-v-3c00f4f5],.app-body-admin[data-v-3c00f4f5]{padding-top:var(--header-height);padding-bottom:var(--footer-height);flex:1}.main-view[data-v-3c00f4f5]{margin-left:var(--sidebar-width-expanded);min-height:calc(100vh - var(--header-height) - var(--footer-height));transition:margin-left var(--transition-normal)}.main-view.sidebar-collapsed[data-v-3c00f4f5]{margin-left:var(--sidebar-width-collapsed)}:root{--color-primary:#3b82f6;--color-primary-dark:#2563eb;--color-primary-light:#60a5fa;--color-secondary:#64748b;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#ef4444;--color-bg-primary:#fff;--color-bg-secondary:#f8f9fa;--color-bg-tertiary:#f1f3f5;--color-bg-sidebar:#e9ecef;--color-border:#dee2e6;--color-border-light:#e9ecef;--color-text-primary:#212529;--color-text-secondary:#495057;--color-text-muted:#868e96;--header-height:60px;--footer-height:50px;--sidebar-width-collapsed:35px;--sidebar-width-expanded:200px;--chat-width:400px;--chat-height:70vh;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%}body{color:var(--color-text-primary);background-color:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea{font-family:inherit;font-size:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:8px 12px}input:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}.text-sm{font-size:12px}.text-lg{font-size:16px}.font-medium{font-weight:500}.font-bold{font-weight:700}@media (width<=768px){:root{--header-height:56px;--footer-height:44px;--sidebar-width-expanded:0px;--sidebar-width-collapsed:0px}.sidebar{display:none}.chat-fab{bottom:calc(var(--footer-height) + 12px);width:44px;height:44px;right:12px}.chat-panel{bottom:calc(var(--footer-height) + 8px);max-width:none;left:8px;right:8px;width:auto!important}.chat-panel.fullscreen{inset:0}.chat-sidebar{display:none}}@media (width<=480px){body{font-size:13px}.article-grid,.featured-grid{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.pagination{flex-wrap:wrap;gap:8px}.article-navigation{flex-direction:column!important}.nav-item,.nav-item.next{text-align:left!important;max-width:100%!important}.back-to-top{bottom:70px!important;right:12px!important}.modal-overlay .modal,.draft-modal{border-radius:0!important;width:100%!important;max-width:100%!important;max-height:100vh!important}.editor-container{grid-template-columns:1fr!important}.editor-sidebar{display:none}.table-container{overflow-x:auto}.category-table,.article-table{min-width:600px}.search-box{flex-direction:column;gap:4px}.category-select,.search-btn{width:100%}}@media (width>=769px) and (width<=1024px){:root{--sidebar-width-expanded:160px}.article-grid,.featured-grid{grid-template-columns:repeat(2,1fr)}}@media (hover:none) and (pointer:coarse){button:hover,a:hover,.article-card:hover,.category-header:hover{transform:none}.toolbar-btn{padding:10px 14px}.category-btn{padding:10px 18px}input,textarea,select{min-height:44px}.tags-input .tag{padding:6px 10px}.article-item,.session-item,.draft-item{padding:14px 12px}}@media (height<=500px) and (orientation:landscape){:root{--header-height:48px}.chat-panel{height:90vh}.chat-sidebar{display:none}}@media print{.header,.sidebar,.chat-fab,.chat-panel,.back-to-top,.reading-progress-bar{display:none!important}.main-content{max-width:100%!important;margin-left:0!important}}
