.modal-overlay[data-v-e8bb3a04]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-e8bb3a04]{background:var(--bg-primary);border-radius:var(--radius-lg);width:400px;max-width:90vw;box-shadow:var(--shadow-xl);padding:28px}.modal h3[data-v-e8bb3a04]{color:var(--text-primary);margin:0 0 20px;font-size:18px}.form-group[data-v-e8bb3a04]{margin-bottom:16px}.form-group label[data-v-e8bb3a04]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group input[data-v-e8bb3a04]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);width:100%;color:var(--text-primary);box-sizing:border-box;outline:none;padding:8px 12px;font-size:14px}.form-group input[data-v-e8bb3a04]:focus{border-color:var(--primary)}.avatar-upload-area[data-v-e8bb3a04]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.avatar-preview-lg[data-v-e8bb3a04]{background:var(--bg-surface);cursor:pointer;border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;display:flex;position:relative;overflow:hidden}.avatar-preview-lg img[data-v-e8bb3a04]{object-fit:cover;width:100%;height:100%}.avatar-overlay[data-v-e8bb3a04]{opacity:0;background:#0006;justify-content:center;align-items:center;font-size:20px;transition:opacity .2s;display:flex;position:absolute;inset:0}.avatar-preview-lg:hover .avatar-overlay[data-v-e8bb3a04]{opacity:1}.upload-hint[data-v-e8bb3a04]{color:var(--text-muted);font-size:12px}.avatar-options[data-v-e8bb3a04]{flex-wrap:wrap;gap:8px;display:flex}.avatar-option[data-v-e8bb3a04]{background:var(--bg-surface);cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:all .2s;display:flex}.avatar-option[data-v-e8bb3a04]:hover{border-color:var(--primary)}.avatar-option.active[data-v-e8bb3a04]{border-color:var(--primary);background:#6366f11a}.modal-actions[data-v-e8bb3a04]{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.btn-cancel[data-v-e8bb3a04]{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 16px;font-size:14px}.btn-save[data-v-e8bb3a04]{border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;border:none;padding:8px 20px;font-size:14px;font-weight:500}.btn-save[data-v-e8bb3a04]:hover{background:var(--primary-hover)}.search-overlay[data-v-cdd887c9]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.search-modal[data-v-cdd887c9]{background:var(--bg-primary);border-radius:var(--radius-lg);width:560px;max-width:90vw;box-shadow:var(--shadow-xl);overflow:hidden}.search-input-row[data-v-cdd887c9]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.search-icon[data-v-cdd887c9]{flex-shrink:0;font-size:18px}.search-input[data-v-cdd887c9]{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:16px}.search-input[data-v-cdd887c9]::placeholder{color:var(--text-muted)}.search-esc[data-v-cdd887c9]{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px}.search-results[data-v-cdd887c9]{max-height:400px;overflow-y:auto}.search-result-item[data-v-cdd887c9]{cursor:pointer;align-items:center;gap:12px;padding:10px 18px;transition:background .15s;display:flex}.search-result-item[data-v-cdd887c9]:hover,.search-result-item.selected[data-v-cdd887c9]{background:var(--bg-hover)}.result-icon[data-v-cdd887c9]{flex-shrink:0;font-size:18px}.result-info[data-v-cdd887c9]{flex:1;min-width:0}.result-title[data-v-cdd887c9]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.result-meta[data-v-cdd887c9]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.result-type[data-v-cdd887c9]{background:var(--bg-surface);color:var(--text-muted);border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px}.search-empty[data-v-cdd887c9]{text-align:center;color:var(--text-muted);padding:30px;font-size:14px}.search-tips[data-v-cdd887c9]{text-align:center;padding:20px}.tip[data-v-cdd887c9]{color:var(--text-muted);font-size:13px}.header[data-v-6de33e7c]{height:var(--header-h);border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#ffffffb8;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.header[data-v-6de33e7c]:after{content:"";background:linear-gradient(90deg,#0000,#6366f126,#8b5cf61a,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.dark .header[data-v-6de33e7c]{background:#0f172ab3;border-bottom-color:#33415599}.header-left[data-v-6de33e7c]{align-items:center;gap:16px;display:flex}.menu-btn[data-v-6de33e7c]{cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;display:none}.logo[data-v-6de33e7c]{letter-spacing:-.02em;background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.logo-icon[data-v-6de33e7c]{-webkit-text-fill-color:initial;font-size:24px;animation:4s ease-in-out infinite float}.header-right[data-v-6de33e7c]{align-items:center;gap:16px;display:flex}.theme-btn[data-v-6de33e7c]{cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:4px 8px;font-size:20px;transition:background .2s}.theme-btn[data-v-6de33e7c]:hover{background:var(--bg-hover)}.user-area[data-v-6de33e7c]{cursor:pointer;border-radius:var(--radius);align-items:center;gap:8px;padding:4px 8px;transition:background .2s;display:flex}.user-area[data-v-6de33e7c]:hover{background:var(--bg-hover)}.user-avatar[data-v-6de33e7c]{background:var(--gradient-primary);color:#fff;width:36px;height:36px;transition:transform var(--transition), box-shadow var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;overflow:hidden;box-shadow:0 2px 8px #6366f14d}.user-avatar[data-v-6de33e7c]:hover{transform:scale(1.08);box-shadow:0 4px 14px #6366f166}.user-avatar img[data-v-6de33e7c]{object-fit:cover;width:100%;height:100%}.user-name[data-v-6de33e7c]{color:var(--text-primary);font-size:14px;font-weight:500}.header-clock[data-v-6de33e7c]{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.5px;border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);text-align:center;min-width:80px;padding:4px 10px;font-weight:500}.search-trigger[data-v-6de33e7c]{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:all var(--transition);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;display:flex}.search-trigger[data-v-6de33e7c]:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-primary);box-shadow:0 0 0 3px #6366f114}.search-hint[data-v-6de33e7c]{opacity:.6;font-size:11px}@media (width<=900px){.menu-btn[data-v-6de33e7c]{display:block}.user-name[data-v-6de33e7c],.search-hint[data-v-6de33e7c],.header-clock[data-v-6de33e7c]{display:none}}.sidebar[data-v-9b0eb710]{top:var(--header-h);width:var(--sidebar-w);height:calc(100vh - var(--header-h));background:var(--bg-primary);border-right:1px solid var(--border);z-index:90;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#ffffffc7;flex-direction:column;padding:12px 10px;transition:width .25s;display:flex;position:fixed;left:0;overflow:hidden auto}.sidebar.collapsed[data-v-9b0eb710]{width:var(--sidebar-w-collapsed);padding:12px 6px}.sidebar.collapsed .nav-text[data-v-9b0eb710],.sidebar.collapsed .nav-section[data-v-9b0eb710],.sidebar.collapsed .section-arrow[data-v-9b0eb710],.sidebar.collapsed .nav-group-body[data-v-9b0eb710],.sidebar.collapsed .version[data-v-9b0eb710],.sidebar.collapsed .btn-logout[data-v-9b0eb710]{display:none}.sidebar.collapsed .nav-item[data-v-9b0eb710]{justify-content:center;padding:10px 0}.sidebar.collapsed .nav-icon[data-v-9b0eb710]{width:auto;font-size:18px}.sidebar[data-v-9b0eb710]:after{content:"";background:linear-gradient(#6366f11f,#0000 50%,#8b5cf614);width:1px;position:absolute;top:0;bottom:0;right:0}.dark .sidebar[data-v-9b0eb710]{background:#0f172ac2}.sidebar-nav[data-v-9b0eb710]{flex-direction:column;flex:1;gap:1px;display:flex}.nav-group[data-v-9b0eb710]{margin-bottom:2px}.nav-section[data-v-9b0eb710]{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 12px 4px;font-size:11px;font-weight:600;transition:color .15s;display:flex}.nav-section[data-v-9b0eb710]:hover{color:var(--text-secondary)}.section-arrow[data-v-9b0eb710]{width:10px;font-size:8px;transition:transform .2s;display:inline-block}.section-arrow.open[data-v-9b0eb710]{transform:rotate(90deg)}.nav-group-body[data-v-9b0eb710]{flex-direction:column;gap:1px;display:flex}.nav-divider[data-v-9b0eb710]{background:var(--border);height:1px;margin:8px 12px}.nav-item[data-v-9b0eb710]{border-radius:var(--radius);color:var(--text-secondary);align-items:center;gap:10px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item[data-v-9b0eb710]:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active[data-v-9b0eb710]{color:var(--primary);box-shadow:inset 3px 0 0 var(--primary), 0 0 12px #6366f114;background:#6366f11a;font-weight:600}.nav-icon[data-v-9b0eb710]{text-align:center;flex-shrink:0;width:22px;font-size:14px}.sidebar-footer[data-v-9b0eb710]{border-top:1px solid var(--border);padding:12px}.user-info[data-v-9b0eb710]{align-items:center;gap:10px;margin-bottom:10px;display:flex}.user-avatar[data-v-9b0eb710]{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:flex}.user-name[data-v-9b0eb710]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.external-links[data-v-9b0eb710]{gap:6px;margin-bottom:10px;display:flex}.ext-link[data-v-9b0eb710]{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:12px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.ext-link[data-v-9b0eb710]:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.ext-icon[data-v-9b0eb710]{font-size:14px}.btn-collapse[data-v-9b0eb710]{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;margin-bottom:6px;padding:6px;font-size:10px;transition:all .2s}.btn-collapse[data-v-9b0eb710]:hover{border-color:var(--primary);color:var(--primary)}.sidebar.collapsed .btn-collapse[data-v-9b0eb710]{padding:8px 0}.btn-logout[data-v-9b0eb710]{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-bottom:8px;padding:6px;font-size:12px;transition:all .2s}.btn-logout[data-v-9b0eb710]:hover{border-color:var(--danger);color:var(--danger)}.version[data-v-9b0eb710]{color:var(--text-muted);text-align:center;font-size:11px}@media (width<=900px){.sidebar[data-v-9b0eb710]{transition:transform .3s;transform:translate(-100%)}.sidebar.open[data-v-9b0eb710]{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-backdrop[data-v-9b0eb710]{z-index:-1;background:#0000004d;position:fixed;inset:0}}.error-boundary[data-v-a6447424]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.error-icon[data-v-a6447424]{margin-bottom:16px;font-size:48px}.error-boundary h3[data-v-a6447424]{color:var(--text-primary);margin-bottom:8px;font-size:18px}.error-message[data-v-a6447424]{color:var(--text-muted);max-width:400px;margin-bottom:20px;font-size:14px}.quick-note-overlay[data-v-82f2d8a7]{z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:20vh;animation:.15s fadeIn-82f2d8a7;display:flex;position:fixed;inset:0}.quick-note-modal[data-v-82f2d8a7]{background:var(--bg-primary);border-radius:var(--radius-lg);width:420px;max-width:90vw;overflow:hidden;box-shadow:0 20px 60px #0003}.quick-note-header[data-v-82f2d8a7]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.quick-note-header h3[data-v-82f2d8a7]{color:var(--text-primary);margin:0;font-size:16px}.btn-close[data-v-82f2d8a7]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.btn-close[data-v-82f2d8a7]:hover{background:var(--bg-hover)}.quick-note-tabs[data-v-82f2d8a7]{border-bottom:1px solid var(--border);gap:0;display:flex}.tab-btn[data-v-82f2d8a7]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-size:13px;transition:all .2s}.tab-btn.active[data-v-82f2d8a7]{color:var(--primary);border-bottom-color:var(--primary);background:var(--bg-surface)}.quick-note-body[data-v-82f2d8a7]{flex-direction:column;gap:10px;padding:16px;display:flex}.quick-note-title[data-v-82f2d8a7]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);width:100%;color:var(--text-primary);box-sizing:border-box;padding:10px 12px;font-size:15px}.quick-note-title[data-v-82f2d8a7]:focus{border-color:var(--primary);outline:none}.quick-note-content[data-v-82f2d8a7]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;padding:10px 12px;font-family:inherit;font-size:14px}.quick-note-content[data-v-82f2d8a7]:focus{border-color:var(--primary);outline:none}.quick-note-color[data-v-82f2d8a7]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);padding:8px 12px;font-size:13px}.quick-note-footer[data-v-82f2d8a7]{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.shortcut-hint[data-v-82f2d8a7]{color:var(--text-muted);font-size:12px}@keyframes fadeIn-82f2d8a7{0%{opacity:0}to{opacity:1}}.ambient-bg[data-v-4b427fcc]{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.mesh-layer[data-v-4b427fcc]{background:radial-gradient(ellipse at 20% 50%, var(--orb-1) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, var(--orb-2) 0%, transparent 50%), radial-gradient(ellipse at 50% 80%, var(--orb-3) 0%, transparent 50%), var(--bg-secondary);opacity:.6;background-size:100% 100%;width:200%;height:200%;animation:30s ease-in-out infinite mesh-rotate;position:absolute;inset:-50%}.orb[data-v-4b427fcc]{filter:blur(60px);will-change:transform;border-radius:50%;position:absolute}.orb-1[data-v-4b427fcc]{background:var(--orb-1);width:400px;height:400px;animation:25s ease-in-out infinite orb-drift-1;top:-10%;left:-5%}.orb-2[data-v-4b427fcc]{background:var(--orb-2);width:300px;height:300px;animation:30s ease-in-out -8s infinite orb-drift-2;top:60%;right:-8%}.orb-3[data-v-4b427fcc]{background:var(--orb-3);width:250px;height:250px;animation:35s ease-in-out -15s infinite orb-drift-1;top:20%;right:20%}.orb-4[data-v-4b427fcc]{background:var(--orb-4);width:200px;height:200px;animation:28s ease-in-out -5s infinite orb-drift-2;bottom:10%;left:15%}.orb-5[data-v-4b427fcc]{background:var(--orb-2);opacity:.5;width:350px;height:350px;animation:32s ease-in-out -20s infinite orb-drift-1;top:40%;left:50%}.orb-6[data-v-4b427fcc]{background:var(--orb-1);width:300px;height:300px;animation:22s ease-in-out -12s infinite orb-drift-2;top:10%;right:10%}.orb-7[data-v-4b427fcc]{background:var(--orb-3);width:250px;height:250px;animation:27s ease-in-out -3s infinite orb-drift-1;bottom:20%;left:30%}.ambient-bg.is-login .mesh-layer[data-v-4b427fcc]{opacity:.85}.ambient-bg.is-login .orb[data-v-4b427fcc]{filter:blur(80px)}@media (width<=480px){.orb-3[data-v-4b427fcc],.orb-4[data-v-4b427fcc],.orb-5[data-v-4b427fcc]{display:none}}.chatbot-trigger[data-v-46c9fa3f]{background:var(--primary);color:#fff;cursor:pointer;z-index:999;border:none;border-radius:50%;width:48px;height:48px;font-size:22px;transition:transform .2s;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #00000026}.chatbot-trigger[data-v-46c9fa3f]:hover{transform:scale(1.1)}.chatbot-trigger.active[data-v-46c9fa3f]{transform:scale(.95)}.chatbot-panel[data-v-46c9fa3f]{background:var(--bg-primary);border:1px solid var(--border);z-index:999;border-radius:16px;flex-direction:column;width:380px;height:520px;display:flex;position:fixed;bottom:84px;right:24px;overflow:hidden;box-shadow:0 8px 32px #0000001f}.slide-enter-active[data-v-46c9fa3f],.slide-leave-active[data-v-46c9fa3f]{transition:all .3s}.slide-enter-from[data-v-46c9fa3f],.slide-leave-to[data-v-46c9fa3f]{opacity:0;transform:translateY(20px)scale(.95)}.panel-header[data-v-46c9fa3f]{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.btn-close[data-v-46c9fa3f]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 4px;font-size:20px}.quick-actions[data-v-46c9fa3f]{flex-wrap:wrap;gap:8px;padding:16px;display:flex}.quick-btn[data-v-46c9fa3f]{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:8px 12px;font-size:13px;transition:all .2s}.quick-btn[data-v-46c9fa3f]:hover{border-color:var(--primary);color:var(--primary)}.messages[data-v-46c9fa3f]{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.message[data-v-46c9fa3f]{display:flex}.message.user[data-v-46c9fa3f]{justify-content:flex-end}.message.assistant[data-v-46c9fa3f]{justify-content:flex-start}.message-bubble[data-v-46c9fa3f]{word-break:break-word;border-radius:12px;max-width:85%;padding:10px 14px;font-size:13px;line-height:1.6}.message.user .message-bubble[data-v-46c9fa3f]{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-bubble[data-v-46c9fa3f]{background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px}.message-bubble.streaming[data-v-46c9fa3f]{opacity:.8}.cursor[data-v-46c9fa3f]{animation:.8s infinite blink-46c9fa3f}@keyframes blink-46c9fa3f{0%,to{opacity:1}50%{opacity:0}}.message-bubble code[data-v-46c9fa3f]{background:#00000014;border-radius:3px;padding:1px 4px;font-size:12px}.input-area[data-v-46c9fa3f]{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.chat-input[data-v-46c9fa3f]{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);resize:none;border-radius:20px;outline:none;flex:1;max-height:100px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.5}.chat-input[data-v-46c9fa3f]:focus{border-color:var(--primary)}.send-btn[data-v-46c9fa3f]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.send-btn[data-v-46c9fa3f]:disabled{opacity:.4;cursor:not-allowed}@media (width<=500px){.chatbot-panel[data-v-46c9fa3f]{border-radius:0;width:100%;height:100%;bottom:0;right:0}}:root{--header-h:56px;--sidebar-w:240px;--sidebar-w-collapsed:64px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:32px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-modal:1000;--z-popover:1500;--z-toast:2000;--primary:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--accent:#10b981;--accent-light:#34d399;--gradient-primary:linear-gradient(135deg, #6366f1, #8b5cf6, #a78bfa);--gradient-accent:linear-gradient(135deg, #6366f1, #06b6d4);--gradient-warm:linear-gradient(135deg, #f59e0b, #ef4444);--gradient-cool:linear-gradient(135deg, #10b981, #3b82f6);--gradient-pink:linear-gradient(135deg, #ec4899, #8b5cf6);--gradient-surface:linear-gradient(145deg, #6366f108, #8b5cf605);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-surface:#f1f5f9;--bg-hover:#e2e8f0;--border:#e2e8f0;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-xl:0 20px 40px -10px #0000001a;--shadow-glow:0 0 20px #6366f126;--shadow-glow-lg:0 0 40px #6366f133;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--spring:.3s cubic-bezier(.4, 0, .2, 1);--mesh-1:#312e81;--mesh-2:#4c1d95;--mesh-3:#6366f1;--mesh-4:#1e1b4b;--mesh-5:#7c3aed;--orb-1:#6366f114;--orb-2:#8b5cf60f;--orb-3:#7c3aed0d;--orb-4:#3b82f60a;--glass-bg:#ffffffb8;--glass-border:#ffffff2e;--glass-blur:20px;--glass-saturate:180%;--refraction:linear-gradient(135deg, #fff6, #fff0 60%)}[data-theme=dark],.dark{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-surface:#334155;--bg-hover:#475569;--border:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--shadow-sm:0 1px 3px #0000004d;--shadow:0 4px 6px -1px #0006;--shadow-lg:0 10px 25px -5px #00000080;--shadow-xl:0 20px 40px -10px #0009;--shadow-glow:0 0 20px #6366f140;--shadow-glow-lg:0 0 40px #6366f159;--gradient-surface:linear-gradient(145deg, #6366f10f, #8b5cf60a);--orb-1:#6366f11f;--orb-2:#8b5cf61a;--orb-3:#7c3aed14;--orb-4:#3b82f60f;--glass-bg:#0f172ab3;--glass-border:#6366f11f;--mesh-1:#1e1b4b;--mesh-2:#2e1065;--mesh-4:#0c0a1d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg-secondary);color:var(--text-primary);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.65}h1,h2,h3,h4,h5,h6,.page-title,.card-title,.welcome-title,.login-title{letter-spacing:-.025em;font-family:Outfit,Noto Sans SC,sans-serif}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), border-color var(--transition), transform var(--transition);padding:20px;position:relative;overflow:hidden}.card:before{content:"";background:var(--gradient-primary);opacity:0;height:1px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-lg), 0 0 30px #6366f10f;border-color:#6366f133;transform:translateY(-2px)}.card:hover:before{opacity:.6}.card-title{color:var(--text-primary);margin-bottom:14px;font-size:16px;font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;height:36px;transition:all var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:13px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#fff3,#0000);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #6366f140}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #6366f140}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98140}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98159}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary);box-shadow:0 2px 8px #6366f11a}.btn-text{color:var(--text-secondary);background:0 0;border:none;padding:0 8px}.btn-text:hover{color:var(--primary);background:#6366f10f}.btn-sm{height:28px;padding:0 12px;font-size:13px}.btn-lg{height:44px;padding:0 28px;font-size:15px}.input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);width:100%;height:36px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);padding:0 14px;font-family:inherit;font-size:13px}.input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f, var(--shadow-glow);outline:none}.page-title{color:var(--text-primary);letter-spacing:-.02em;background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:24px;font-size:24px;font-weight:800;position:relative}.page-title:after{content:"";background:var(--gradient-primary);border-radius:2px;width:40px;height:3px;margin-top:6px;display:block}.textarea{resize:vertical;height:auto;min-height:100px;padding:9px 14px;font-family:inherit}.tag{transition:all var(--transition-fast);border-radius:6px;padding:3px 10px;font-size:11px;font-weight:500;line-height:1.5;display:inline-block}.tag:hover{transform:translateY(-1px)}.tag-primary{color:var(--primary);background:#6366f11a;border:1px solid #6366f126}.tag-success{color:var(--success);background:#10b9811a;border:1px solid #10b98126}.tag-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b26}.tag-danger{color:var(--danger);background:#ef44441a;border:1px solid #ef444426}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-hover) 50%, var(--bg-surface) 75%);border-radius:var(--radius);background-size:400px 100%;animation:1.5s infinite shimmer}@keyframes pulse-glow{0%,to{box-shadow:0 0 #6366f14d}50%{box-shadow:0 0 0 8px #6366f100}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes orb-drift-1{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-40px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.97)}75%{transform:translate(40px,10px)scale(1.02)}}@keyframes orb-drift-2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-40px,30px)scale(1.04)}66%{transform:translate(25px,-35px)scale(.96)}}@keyframes mesh-rotate{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes edge-shimmer{0%{background-position:-200%}to{background-position:200%}}.empty{text-align:center;color:var(--text-muted);padding:60px 20px;animation:.4s fade-in-up}.empty-icon{margin-bottom:16px;font-size:52px;animation:3s ease-in-out infinite float}.empty-text{font-size:16px}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{color:var(--text-primary);background:#6366f133}a:hover{color:var(--primary-dark)}.table-block thead th{z-index:1;position:sticky;top:0}.table-block tbody tr:nth-child(2n) td{background:var(--bg-surface)}.table-block tr:hover td{background:var(--bg-hover)}.card{animation:.35s both fade-in-up}.card:first-child{animation-delay:0s}.card:nth-child(2){animation-delay:40ms}.card:nth-child(3){animation-delay:80ms}.card:nth-child(4){animation-delay:.12s}.card:nth-child(5){animation-delay:.16s}[title]{position:relative}@media (prefers-reduced-motion:reduce){.orb,.mesh-layer{animation:none!important}.card:hover{transform:none}}@media print{.ambient-bg{display:none!important}}.app{min-height:100vh;position:relative}.layout{padding-top:var(--header-h);display:flex}.main{margin-left:var(--sidebar-w);min-height:calc(100vh - var(--header-h));flex:1;padding:30px 40px;transition:margin-left .25s}.sidebar-collapsed .main{margin-left:var(--sidebar-w-collapsed)}.page-enter-active,.page-leave-active{transition:opacity .2s,transform .2s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}@media (width<=900px){.main{margin-left:0;padding:20px}}
