.ui-dlg-mask[data-v-f3533a85]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99990;display:flex;align-items:center;justify-content:center;background:var(--modal-overlay);padding:24px;box-sizing:border-box}.ui-dlg-box[data-v-f3533a85]{width:100%;max-width:400px;padding:22px 24px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow)}.ui-dlg-title[data-v-f3533a85]{margin:0 0 12px;font-size:17px;font-weight:600;color:var(--text-primary)}.ui-dlg-text[data-v-f3533a85]{margin:0;font-size:14px;line-height:1.55;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.ui-dlg-actions[data-v-f3533a85]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.ui-dlg-btn[data-v-f3533a85]{min-width:76px;padding:8px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:opacity .15s,background .15s}.ui-dlg-btn.primary[data-v-f3533a85]{background:var(--accent);color:#fff;border:none}.ui-dlg-btn.primary[data-v-f3533a85]:hover{background:var(--accent-hover)}.ui-dlg-btn.ghost[data-v-f3533a85]{background:transparent;color:var(--text-secondary);border-color:var(--border-color)}.ui-dlg-btn.ghost[data-v-f3533a85]:hover{color:var(--text-primary);border-color:var(--text-muted)}*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-card: #1a1a1a;--bg-hover: #222222;--bg-input: #1e1e1e;--bg-subtle: rgba(255, 255, 255, .03);--bg-elevated: #1e1e28;--border-color: #2a2a2a;--border-subtle: rgba(255, 255, 255, .06);--border-focus: #7c3aed;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-light: rgba(124, 58, 237, .15);--accent-subtle: rgba(140, 83, 255, .04);--accent-text: #c4a0ff;--danger: #ef4444;--danger-text: #f87171;--success: #22c55e;--warning: #f59e0b;--warning-text: #fbbf24;--code-bg: rgba(255, 255, 255, .06);--modal-overlay: rgba(0, 0, 0, .6);--badge-admin-bg: rgba(140, 83, 255, .2);--badge-admin-text: #c4a0ff;--badge-user-bg: rgba(59, 130, 246, .15);--badge-user-text: #93c5fd;--badge-image-bg: rgba(234, 179, 8, .15);--badge-image-text: #fde68a;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--transition: all .2s ease;--scrollbar-thumb: #333;--scrollbar-hover: #555;--landing-bg: #050505;--hero-gradient: linear-gradient(135deg, #1a1040 0%, #0c0c1d 50%, #0d1117 100%);--title-gradient: linear-gradient(135deg, #fff 0%, #a78bfa 100%);color-scheme:dark}[data-theme=light]{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-hover: #f0f0f2;--bg-input: #f8f8fa;--bg-subtle: rgba(0, 0, 0, .02);--bg-elevated: #ffffff;--border-color: #e2e2e5;--border-subtle: rgba(0, 0, 0, .05);--border-focus: #7c3aed;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-light: rgba(124, 58, 237, .08);--accent-subtle: rgba(124, 58, 237, .04);--accent-text: #6d28d9;--danger: #ef4444;--danger-text: #dc2626;--success: #22c55e;--warning: #f59e0b;--warning-text: #d97706;--code-bg: rgba(0, 0, 0, .04);--modal-overlay: rgba(0, 0, 0, .35);--badge-admin-bg: rgba(124, 58, 237, .1);--badge-admin-text: #7c3aed;--badge-user-bg: rgba(59, 130, 246, .08);--badge-user-text: #2563eb;--badge-image-bg: rgba(234, 179, 8, .1);--badge-image-text: #b45309;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow: 0 4px 24px rgba(0, 0, 0, .08);--transition: all .2s ease;--scrollbar-thumb: #ccc;--scrollbar-hover: #aaa;--landing-bg: #f0f0f3;--hero-gradient: linear-gradient(135deg, #e8e0f0 0%, #dde4f0 50%, #e0e8f0 100%);--title-gradient: linear-gradient(135deg, #1a1a1a 0%, #7c3aed 100%);color-scheme:light}html,body{height:100%;margin:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}#app{height:100%}a{color:var(--accent);text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{font-family:inherit;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline:hover{background:var(--accent-light)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-sm{padding:6px 14px;font-size:12px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;transition:var(--transition)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:120px;line-height:1.6}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:500}.badge-purple{background:var(--accent-light);color:var(--accent)}.badge-green{background:#22c55e26;color:var(--success)}.badge-red{background:#ef444426;color:var(--danger)}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .3s ease}.slide-enter-from{opacity:0;transform:translateY(20px)}.slide-leave-to{opacity:0;transform:translateY(-10px)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-text{animation:pulse 1.5s ease-in-out infinite;color:var(--text-secondary)}
