.loading-container[data-v-498730b1]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;pointer-events:none}.loading-content[data-v-498730b1]{background:#fffffff2;backdrop-filter:blur(10px);padding:1.5rem 2rem;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:200px;animation:fadeIn-498730b1 .3s ease-in-out}@keyframes fadeIn-498730b1{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-spinner[data-v-498730b1]{display:flex;gap:.4rem;align-items:center;justify-content:center}.spinner-dot[data-v-498730b1]{width:10px;height:10px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:bounce-498730b1 1.4s infinite ease-in-out both}.spinner-dot[data-v-498730b1]:nth-child(1){animation-delay:-.32s}.spinner-dot[data-v-498730b1]:nth-child(2){animation-delay:-.16s}.spinner-dot[data-v-498730b1]:nth-child(3){animation-delay:0}@keyframes bounce-498730b1{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-text[data-v-498730b1]{color:#555;font-size:.9rem;font-weight:500;text-align:center;white-space:nowrap}.login-dialog[data-v-1ad811a6] .el-dialog__header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:4px 4px 0 0}.login-dialog[data-v-1ad811a6] .el-dialog__title{color:#fff;font-size:20px;font-weight:600}.login-dialog[data-v-1ad811a6] .el-dialog__headerbtn{top:15px}.login-dialog[data-v-1ad811a6] .el-dialog__headerbtn .el-dialog__close{color:#fff;font-size:20px}.login-dialog[data-v-1ad811a6] .el-dialog__body{padding:30px}.dialog-footer[data-v-1ad811a6]{display:flex;justify-content:flex-end;gap:10px}.switch-mode[data-v-1ad811a6]{margin-top:20px;text-align:center;font-size:14px;color:#666}.switch-mode span[data-v-1ad811a6]{margin-right:8px}@media (max-width: 768px){.login-dialog[data-v-1ad811a6]{width:90%!important}}.profile-dialog[data-v-164c0ac7] .el-dialog__header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:4px 4px 0 0}.profile-dialog[data-v-164c0ac7] .el-dialog__title{color:#fff;font-size:20px;font-weight:600}.profile-dialog[data-v-164c0ac7] .el-dialog__headerbtn{top:15px}.profile-dialog[data-v-164c0ac7] .el-dialog__headerbtn .el-dialog__close{color:#fff;font-size:20px}.profile-dialog[data-v-164c0ac7] .el-dialog__body{padding:20px;max-height:70vh;overflow-y:auto}.dialog-body[data-v-164c0ac7]{display:flex;flex-direction:column;gap:20px}.section-card[data-v-164c0ac7]{margin-bottom:0}.section-header[data-v-164c0ac7]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333}.section-header .el-icon[data-v-164c0ac7]{font-size:18px;color:#667eea}.stats-grid[data-v-164c0ac7]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card[data-v-164c0ac7]{display:flex;align-items:center;gap:12px;padding:16px;background:#f8f9fa;border-radius:8px}.stat-icon[data-v-164c0ac7]{font-size:32px}.stat-info[data-v-164c0ac7]{flex:1}.stat-value[data-v-164c0ac7]{font-size:18px;font-weight:700;color:#667eea;margin-bottom:4px}.stat-label[data-v-164c0ac7]{font-size:12px;color:#999}.achievements-list[data-v-164c0ac7]{display:flex;flex-direction:column;gap:12px}.achievement-item[data-v-164c0ac7]{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px}.achievement-icon[data-v-164c0ac7]{font-size:24px}.achievement-info[data-v-164c0ac7]{flex:1}.achievement-name[data-v-164c0ac7]{font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.achievement-time[data-v-164c0ac7]{font-size:12px;color:#999}.dialog-footer[data-v-164c0ac7]{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 768px){.profile-dialog[data-v-164c0ac7]{width:90%!important}.stats-grid[data-v-164c0ac7]{grid-template-columns:1fr}}.bookshelf-dialog-overlay[data-v-465c7ddf]{position:fixed;inset:0;background:#00000040;display:flex;align-items:center;justify-content:center;z-index:10000}.bookshelf-dialog[data-v-465c7ddf]{background:#fff;border-radius:2px;width:85%;max-width:650px;max-height:80vh;box-shadow:0 2px 12px #0000001a;border:1px solid #d8d8d8;overflow:hidden;display:flex;flex-direction:column}.dialog-header[data-v-465c7ddf]{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #e8e8e8;background:#fafafa;flex-shrink:0}.dialog-header h2[data-v-465c7ddf]{margin:0;font-size:13px;color:#2c3e50;font-weight:500}.close-btn[data-v-465c7ddf]{background:transparent;border:none;width:24px;height:24px;border-radius:2px;color:#909090;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn[data-v-465c7ddf]:hover{background:#e8e8e8;color:#606060}.dialog-body[data-v-465c7ddf]{padding:0;overflow-y:auto;flex:1;background:#fafafa}.bookshelf-list[data-v-465c7ddf]{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e0e0e0;margin:8px}.bookshelf-item[data-v-465c7ddf]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border-bottom:1px solid #f5f5f5;transition:background-color .15s}.bookshelf-item[data-v-465c7ddf]:last-child{border-bottom:none}.bookshelf-item[data-v-465c7ddf]:hover{background:#f8f8f8}.book-info[data-v-465c7ddf]{display:flex;flex:1;cursor:pointer}.book-details[data-v-465c7ddf]{flex:1}.book-name-row[data-v-465c7ddf]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.book-name[data-v-465c7ddf]{font-size:13px;font-weight:500;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-badge[data-v-465c7ddf]{padding:1px 6px;border-radius:2px;font-size:10px;font-weight:400;white-space:nowrap;border:1px solid}.source-badge.crawler[data-v-465c7ddf],.source-badge.server[data-v-465c7ddf]{background-color:#f5f5f5;color:gray;border-color:#d8d8d8}.book-author[data-v-465c7ddf]{font-size:11px;color:#999;margin-bottom:2px}.book-meta[data-v-465c7ddf]{font-size:10px;color:#b0b0b0}.book-actions[data-v-465c7ddf]{display:flex;gap:6px;align-items:center}.chapters-btn[data-v-465c7ddf],.remove-btn[data-v-465c7ddf]{padding:3px 8px;background:#f8f8f8;color:#666;border:1px solid #d8d8d8;border-radius:2px;font-size:11px;font-weight:400;cursor:pointer;transition:all .2s}.chapters-btn[data-v-465c7ddf]:hover{background:#e8e8e8;border-color:#b8b8b8;color:#333}.remove-btn[data-v-465c7ddf]:hover{background:#f0f0f0;border-color:#c8c8c8;color:#666}.empty-state[data-v-465c7ddf]{text-align:center;padding:40px 20px;color:#b0b0b0}.empty-text[data-v-465c7ddf]{font-size:13px;font-weight:400;color:gray;margin-bottom:6px}.empty-desc[data-v-465c7ddf]{font-size:11px;color:#b0b0b0}.bookshelf-item.crawler-book[data-v-465c7ddf]{border-left:2px solid #d0d0d0;background:#fafafa!important}.reader-panel-compact[data-v-74aca450]{display:flex;flex-direction:column;gap:12px}.upload-btn[data-v-74aca450]{width:100%}.reader-info[data-v-74aca450]{display:flex;flex-direction:column;gap:12px}.mode-indicator[data-v-74aca450]{display:flex;justify-content:center}.mode-indicator .el-tag[data-v-74aca450]{display:flex;align-items:center;gap:6px}.progress-section[data-v-74aca450]{display:flex;flex-direction:column;gap:6px}.progress-text[data-v-74aca450]{text-align:center;font-size:12px;color:#999}.page-controls[data-v-74aca450]{display:flex;justify-content:center}.bookshelf-btn[data-v-74aca450]{margin-top:4px}.blog-hint[data-v-74aca450]{text-align:center;padding:8px 0}.blog-hint .el-text[data-v-74aca450]{display:flex;align-items:center;justify-content:center;gap:6px}.search-panel-compact[data-v-43eeb951]{display:flex;flex-direction:column;gap:12px}.search-mode-switch[data-v-43eeb951]{display:flex;justify-content:center}.search-input-group[data-v-43eeb951]{width:100%}.search-options[data-v-43eeb951]{display:flex;gap:16px;justify-content:center}.content-search-hint[data-v-43eeb951]{text-align:center;padding:8px 12px;background:#f0f9ff;border-radius:6px;border:1px solid #bae6fd}.content-search-hint .el-text[data-v-43eeb951]{display:flex;align-items:center;justify-content:center;gap:6px}.browse-actions[data-v-43eeb951]{width:100%}.novel-list-compact[data-v-43eeb951]{margin-top:8px}.loading-state[data-v-43eeb951]{padding:12px 0}.novel-count[data-v-43eeb951]{margin-bottom:8px;text-align:center}.novel-items[data-v-43eeb951]{display:flex;flex-direction:column;gap:6px;max-height:350px;overflow-y:auto}.novel-item-compact[data-v-43eeb951]{display:flex;align-items:center;gap:8px;padding:10px;background:linear-gradient(135deg,#667eea08,#764ba208);border-radius:6px;cursor:pointer;transition:all .3s;border:1px solid transparent}.novel-item-compact[data-v-43eeb951]:hover{background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#667eea;transform:translate(3px)}.novel-icon[data-v-43eeb951]{font-size:24px;flex-shrink:0}.novel-info[data-v-43eeb951]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.novel-name[data-v-43eeb951]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.novel-meta[data-v-43eeb951]{display:block}.arrow-icon[data-v-43eeb951]{font-size:14px;color:#667eea;flex-shrink:0;transition:transform .3s}.novel-item-compact:hover .arrow-icon[data-v-43eeb951]{transform:translate(3px)}.search-results[data-v-43eeb951]{margin-top:8px;padding-top:12px;border-top:1px solid #e9ecef}.search-stats[data-v-43eeb951]{margin-bottom:8px;text-align:center}.results-list[data-v-43eeb951]{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.search-result-item[data-v-43eeb951]{padding:10px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .3s}.search-result-item[data-v-43eeb951]:hover{background:#e9ecef;transform:translate(4px)}.search-result-header[data-v-43eeb951]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.search-result-title[data-v-43eeb951]{flex:1}.search-result-source[data-v-43eeb951]{display:block;margin-bottom:6px}.search-result-snippet[data-v-43eeb951]{display:block;color:#666;line-height:1.5}.crawler-panel[data-v-6f49f1d6]{padding:16px;position:relative;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}h3[data-v-6f49f1d6]{margin:0 0 12px;color:#2c3e50;font-size:13px;font-weight:500;border-bottom:1px solid #e0e0e0;padding-bottom:6px;letter-spacing:.5px}h4[data-v-6f49f1d6]{margin:12px 0 8px;color:#2c3e50;font-size:12px;font-weight:500}h5[data-v-6f49f1d6]{margin:8px 0;color:#606060;font-size:11px;font-weight:400}.search-section[data-v-6f49f1d6]{margin-bottom:16px}.search-box[data-v-6f49f1d6]{display:flex;gap:8px;margin-bottom:8px}.search-box input[data-v-6f49f1d6]{flex:1;padding:6px 10px;border:1px solid #d0d0d0;border-radius:2px;font-size:12px;color:#333;background:#fff}.search-box input[data-v-6f49f1d6]:focus{outline:none;border-color:#999}.search-box button[data-v-6f49f1d6],.recommend-btn[data-v-6f49f1d6]{padding:6px 14px;background-color:#f0f0f0;color:#333;border:1px solid #d0d0d0;border-radius:2px;cursor:pointer;font-size:12px;white-space:nowrap;transition:background-color .2s}.search-box button[data-v-6f49f1d6]:hover,.recommend-btn[data-v-6f49f1d6]:hover{background-color:#e8e8e8;border-color:#b8b8b8}.search-box button[data-v-6f49f1d6]:disabled,.recommend-btn[data-v-6f49f1d6]:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;border-color:#e0e0e0}.recommend-btn[data-v-6f49f1d6]{width:100%}.novel-list[data-v-6f49f1d6]{margin-top:12px}.novel-items[data-v-6f49f1d6]{max-height:450px;overflow-y:auto;background:#fff;border:1px solid #e0e0e0}.novel-item[data-v-6f49f1d6]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .15s}.novel-item[data-v-6f49f1d6]:last-child{border-bottom:none}.novel-item[data-v-6f49f1d6]:hover{background-color:#f5f5f5}.novel-info[data-v-6f49f1d6]{flex:1;margin-right:12px}.novel-title[data-v-6f49f1d6]{font-weight:500;color:#2c3e50;margin-bottom:4px;font-size:13px}.novel-author[data-v-6f49f1d6]{color:gray;font-size:11px;margin-bottom:3px}.novel-intro[data-v-6f49f1d6]{color:#999;font-size:11px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.4}.novel-action .add-btn[data-v-6f49f1d6]{padding:4px 10px;background:#f8f8f8;color:#666;border:1px solid #d8d8d8;border-radius:2px;cursor:pointer;font-size:11px;font-weight:400;transition:all .2s}.novel-action .add-btn[data-v-6f49f1d6]:hover{background:#e8e8e8;border-color:#b8b8b8;color:#333}.novel-detail[data-v-6f49f1d6]{margin-top:12px;padding:12px;background-color:#fff;border:1px solid #e0e0e0;border-radius:2px}.detail-header[data-v-6f49f1d6]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.back-btn[data-v-6f49f1d6]{padding:3px 10px;background-color:#f8f8f8;color:#666;border:1px solid #d8d8d8;border-radius:2px;cursor:pointer;font-size:11px}.back-btn[data-v-6f49f1d6]:hover{background-color:#e8e8e8;border-color:#b8b8b8}.novel-meta[data-v-6f49f1d6]{margin-bottom:12px;padding:10px;background-color:#fafafa;border:1px solid #f0f0f0;border-radius:2px}.novel-meta p[data-v-6f49f1d6]{margin:4px 0;font-size:12px;color:#606060;line-height:1.5}.novel-meta .intro[data-v-6f49f1d6]{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;line-height:1.6;color:gray}.chapter-list[data-v-6f49f1d6]{background-color:#fff;padding:0;border:1px solid #e0e0e0;border-radius:2px}.chapter-items[data-v-6f49f1d6]{max-height:400px;overflow-y:auto}.chapter-item[data-v-6f49f1d6]{padding:8px 12px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background-color .15s;font-size:12px}.chapter-item[data-v-6f49f1d6]:last-child{border-bottom:none}.chapter-item[data-v-6f49f1d6]:hover{background-color:#f8f8f8}.chapter-number[data-v-6f49f1d6]{display:inline-block;width:45px;color:#999;font-size:11px}.chapter-title[data-v-6f49f1d6]{color:#606060}.load-more[data-v-6f49f1d6]{margin-top:8px;text-align:center;padding:8px;background:#fafafa;border-top:1px solid #f0f0f0}.load-more button[data-v-6f49f1d6]{padding:4px 12px;background-color:#f8f8f8;color:#666;border:1px solid #d8d8d8;border-radius:2px;cursor:pointer;font-size:11px}.load-more button[data-v-6f49f1d6]:hover{background-color:#e8e8e8;border-color:#b8b8b8}.add-to-bookshelf[data-v-6f49f1d6]{margin:12px 0;padding:10px;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:2px}.add-btn[data-v-6f49f1d6]{width:100%;padding:6px 14px;background:#f8f8f8;color:#666;border:1px solid #d8d8d8;border-radius:2px;font-size:12px;font-weight:400;cursor:pointer;transition:all .2s}.add-btn[data-v-6f49f1d6]:hover{background:#e8e8e8;border-color:#b8b8b8;color:#333}.add-btn[data-v-6f49f1d6]:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed;border-color:#e8e8e8}.add-to-bookshelf .tip[data-v-6f49f1d6]{margin:6px 0 0;font-size:11px;color:#999;text-align:center}.not-in-bookshelf-tip[data-v-6f49f1d6]{margin:12px 0;padding:10px;background-color:#f9f9f9;border:1px solid #e8e8e8;border-left:3px solid #999;border-radius:2px}.not-in-bookshelf-tip p[data-v-6f49f1d6]{margin:0;font-size:11px;color:#666}.not-in-bookshelf-tip .tip-desc[data-v-6f49f1d6]{margin-top:4px;font-size:10px;color:#999}.tips[data-v-6f49f1d6]{margin-top:16px;padding:10px;background-color:#f9f9f9;border:1px solid #e8e8e8;border-radius:2px}.tips p[data-v-6f49f1d6]{margin:0 0 6px;font-weight:500;color:#606060;font-size:11px}.tips ul[data-v-6f49f1d6]{margin:0;padding-left:18px}.tips li[data-v-6f49f1d6]{margin:3px 0;color:gray;font-size:10px;line-height:1.5}.loading-overlay[data-v-6f49f1d6]{position:fixed;inset:0;background-color:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:10000}.loading-content[data-v-6f49f1d6]{background-color:#fff;padding:20px 30px;border:1px solid #e0e0e0;border-radius:2px;text-align:center;box-shadow:0 2px 8px #00000014}.spinner[data-v-6f49f1d6]{border:3px solid #f0f0f0;border-top:3px solid #999;border-radius:50%;width:28px;height:28px;animation:spin-6f49f1d6 1s linear infinite;margin:0 auto 10px}@keyframes spin-6f49f1d6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-content p[data-v-6f49f1d6]{margin:0;color:#606060;font-size:12px}.novel-items[data-v-6f49f1d6]::-webkit-scrollbar,.chapter-items[data-v-6f49f1d6]::-webkit-scrollbar{width:8px}.novel-items[data-v-6f49f1d6]::-webkit-scrollbar-track,.chapter-items[data-v-6f49f1d6]::-webkit-scrollbar-track{background:#f8f8f8}.novel-items[data-v-6f49f1d6]::-webkit-scrollbar-thumb,.chapter-items[data-v-6f49f1d6]::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}.novel-items[data-v-6f49f1d6]::-webkit-scrollbar-thumb:hover,.chapter-items[data-v-6f49f1d6]::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.template-manager[data-v-f9e31029]{padding:20px 0}.header-actions[data-v-f9e31029]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.header-actions>div[data-v-f9e31029]{display:flex;gap:10px}.hint[data-v-f9e31029]{color:#999;font-size:13px}.content-editor[data-v-f9e31029]{border:1px solid #dcdfe6;border-radius:4px;padding:15px;width:100%}.editor-toolbar[data-v-f9e31029]{display:flex;gap:10px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e4e7ed}.content-items[data-v-f9e31029]{display:flex;flex-direction:column;gap:15px;max-height:400px;overflow-y:auto}.content-item[data-v-f9e31029]{border:1px solid #e4e7ed;border-radius:4px;padding:15px;background:#fafafa}.item-header[data-v-f9e31029]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.item-body[data-v-f9e31029]{background:#fff;padding:15px;border-radius:4px}.item-body[data-v-f9e31029] .el-form-item{margin-bottom:15px}.item-body[data-v-f9e31029] .el-form-item:last-child{margin-bottom:0}.settings-panel[data-v-9bb9c750]{display:flex;flex-direction:column;gap:20px}.setting-item[data-v-9bb9c750]{display:flex;flex-direction:column;gap:8px}.setting-label[data-v-9bb9c750]{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#333}.setting-label .el-icon[data-v-9bb9c750]{font-size:16px;color:#667eea}.setting-select[data-v-9bb9c750]{width:100%}.setting-hint[data-v-9bb9c750]{display:block;color:#999;line-height:1.4}.manage-template-btn[data-v-9bb9c750]{margin-top:8px;font-size:13px}.password-dialog[data-v-ade91bc2] .el-dialog__header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:4px 4px 0 0}.password-dialog[data-v-ade91bc2] .el-dialog__title{color:#fff;font-size:18px;font-weight:600}.password-dialog[data-v-ade91bc2] .el-dialog__headerbtn{top:15px}.password-dialog[data-v-ade91bc2] .el-dialog__headerbtn .el-dialog__close{color:#fff;font-size:20px}.password-dialog[data-v-ade91bc2] .el-dialog__body{padding:30px}.dialog-content[data-v-ade91bc2]{text-align:center}.dialog-message[data-v-ade91bc2]{margin:0 0 20px;color:#666;font-size:14px}.dialog-tip[data-v-ade91bc2]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;padding:12px;background:#f8f9fa;border-radius:6px;font-size:13px;color:#999}.dialog-footer[data-v-ade91bc2]{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 480px){.password-dialog[data-v-ade91bc2]{width:90%!important}}.analytics-panel[data-v-51905e00]{position:fixed;inset:0;background:#fff;z-index:10000;overflow-y:auto}.analytics-header[data-v-51905e00]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #0000001a}.analytics-header h2[data-v-51905e00]{margin:0;font-size:1.5rem}.close-btn[data-v-51905e00]{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s}.close-btn[data-v-51905e00]:hover{background:#ffffff4d;transform:rotate(90deg)}.analytics-loading[data-v-51905e00]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#666}.loading-spinner[data-v-51905e00]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin-51905e00 1s linear infinite;margin-bottom:1rem}@keyframes spin-51905e00{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analytics-content[data-v-51905e00]{padding:2rem;max-width:1200px;margin:0 auto}.analytics-actions[data-v-51905e00]{display:flex;gap:1rem;margin-bottom:2rem}.action-btn[data-v-51905e00]{padding:.75rem 1.5rem;border:none;border-radius:8px;background:#667eea;color:#fff;cursor:pointer;font-size:.95rem;transition:all .3s}.action-btn[data-v-51905e00]:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.action-btn.danger[data-v-51905e00]{background:#e74c3c}.action-btn.danger[data-v-51905e00]:hover{background:#c0392b;box-shadow:0 4px 12px #e74c3c66}.stats-overview[data-v-51905e00]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card[data-v-51905e00]{display:flex;align-items:center;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s}.stat-card[data-v-51905e00]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.stat-icon[data-v-51905e00]{font-size:3rem;margin-right:1rem}.stat-content[data-v-51905e00]{flex:1}.stat-value[data-v-51905e00]{font-size:2rem;font-weight:700;color:#2c3e50}.stat-label[data-v-51905e00]{color:#7f8c8d;font-size:.9rem;margin-top:.25rem}.stats-section[data-v-51905e00]{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.stats-section h3[data-v-51905e00]{margin:0 0 1.5rem;color:#2c3e50;font-size:1.25rem;border-bottom:2px solid #667eea;padding-bottom:.5rem}.event-types[data-v-51905e00]{display:flex;flex-direction:column;gap:1rem}.event-type-item[data-v-51905e00]{display:flex;align-items:center;gap:1rem}.event-type-name[data-v-51905e00]{width:150px;font-size:.9rem;color:#2c3e50}.event-type-bar[data-v-51905e00]{flex:1;height:24px;background:#ecf0f1;border-radius:12px;overflow:hidden}.event-type-bar-fill[data-v-51905e00]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s}.event-type-count[data-v-51905e00]{width:60px;text-align:right;font-weight:700;color:#667eea}.stats-chart[data-v-51905e00]{display:flex;align-items:flex-end;justify-content:space-between;height:200px;padding:1rem 0}.stats-chart.hourly[data-v-51905e00]{height:150px}.chart-bar[data-v-51905e00]{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-fill[data-v-51905e00]{width:80%;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:4px 4px 0 0;transition:height .5s;min-height:2px;cursor:pointer}.bar-fill[data-v-51905e00]:hover{opacity:.8}.bar-label[data-v-51905e00]{font-size:.75rem;color:#7f8c8d}.top-features[data-v-51905e00],.user-activity[data-v-51905e00]{display:flex;flex-direction:column;gap:.75rem}.feature-item[data-v-51905e00],.user-item[data-v-51905e00]{display:flex;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;transition:all .3s}.feature-item[data-v-51905e00]:hover,.user-item[data-v-51905e00]:hover{background:#e9ecef;transform:translate(4px)}.feature-rank[data-v-51905e00],.user-rank[data-v-51905e00]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;font-weight:700;margin-right:1rem}.feature-name[data-v-51905e00]{flex:1;color:#2c3e50}.feature-count[data-v-51905e00]{color:#667eea;font-weight:700}.user-info[data-v-51905e00]{flex:1}.user-id[data-v-51905e00]{color:#2c3e50;font-weight:500;margin-bottom:.25rem}.user-stats[data-v-51905e00]{font-size:.85rem;color:#7f8c8d}.performance-stats[data-v-51905e00]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.perf-item[data-v-51905e00]{padding:1rem;background:#f8f9fa;border-radius:8px;text-align:center}.perf-label[data-v-51905e00]{font-size:.9rem;color:#7f8c8d;margin-bottom:.5rem}.perf-value[data-v-51905e00]{font-size:1.5rem;font-weight:700;color:#667eea}.table-container[data-v-51905e00]{overflow-x:auto;border-radius:8px;box-shadow:0 2px 4px #0000000d}.data-table[data-v-51905e00]{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}.data-table thead[data-v-51905e00]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.data-table th[data-v-51905e00]{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.2)}.data-table th[data-v-51905e00]:first-child{border-top-left-radius:8px}.data-table th[data-v-51905e00]:last-child{border-top-right-radius:8px}.data-table tbody tr[data-v-51905e00]{border-bottom:1px solid #e1e8ed;transition:background-color .2s}.data-table tbody tr[data-v-51905e00]:hover{background-color:#f7f9fa}.data-table tbody tr[data-v-51905e00]:last-child{border-bottom:none}.data-table td[data-v-51905e00]{padding:.875rem 1rem;color:#2c3e50}.date-cell[data-v-51905e00]{font-weight:600;color:#667eea}.time-cell[data-v-51905e00]{font-weight:500;color:#555}.number-cell[data-v-51905e00]{text-align:right;font-weight:600;color:#2c3e50}.number-cell.new-user[data-v-51905e00]{color:#27ae60;font-weight:700}.rank-cell[data-v-51905e00]{text-align:center;font-weight:700;color:#667eea;font-size:1.1rem}.name-cell[data-v-51905e00]{color:#2c3e50;font-weight:500}.user-id-cell[data-v-51905e00]{font-family:Courier New,monospace;font-size:.85rem;color:#7f8c8d}@media (max-width: 768px){.analytics-content[data-v-51905e00]{padding:1rem}.stats-overview[data-v-51905e00]{grid-template-columns:1fr}.event-type-name[data-v-51905e00]{width:100px;font-size:.8rem}.stats-chart[data-v-51905e00]{height:150px}.stats-chart.hourly[data-v-51905e00]{height:120px}.data-table[data-v-51905e00]{font-size:.85rem}.data-table th[data-v-51905e00],.data-table td[data-v-51905e00]{padding:.5rem}.user-id-cell[data-v-51905e00]{font-size:.75rem}}.sidebar[data-v-4bfdd8fc]{width:320px}.sidebar-item[data-v-4bfdd8fc]{margin-bottom:16px}.sidebar-item[data-v-4bfdd8fc]:last-child{margin-bottom:0}.sidebar-card[data-v-4bfdd8fc]{border-radius:8px}.user-card-compact[data-v-4bfdd8fc] .el-card__body{padding:12px!important}.user-compact[data-v-4bfdd8fc]{display:flex;align-items:center;gap:12px}.user-avatar[data-v-4bfdd8fc]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:18px;font-weight:600;flex-shrink:0}.user-info-compact[data-v-4bfdd8fc]{flex:1;min-width:0}.user-name-compact[data-v-4bfdd8fc]{font-size:15px;font-weight:600;color:#333;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-stats-compact[data-v-4bfdd8fc]{display:flex;align-items:center;gap:6px;font-size:12px;color:#999}.divider[data-v-4bfdd8fc]{color:#ddd}.user-actions-compact[data-v-4bfdd8fc]{display:flex;gap:4px;flex-shrink:0}.tabs-card[data-v-4bfdd8fc] .el-card__body{padding:0!important}.sidebar-tabs[data-v-4bfdd8fc]{width:100%}.sidebar-tabs[data-v-4bfdd8fc] .el-tabs__header{margin:0;border-bottom:1px solid #e9ecef}.sidebar-tabs[data-v-4bfdd8fc] .el-tabs__nav{border:none;width:100%}.sidebar-tabs[data-v-4bfdd8fc] .el-tabs__item{flex:1;text-align:center;padding:12px 8px;font-size:13px;border:none;color:#666;transition:all .3s}.sidebar-tabs[data-v-4bfdd8fc] .el-tabs__item:hover{color:#667eea}.sidebar-tabs[data-v-4bfdd8fc] .el-tabs__item.is-active{color:#667eea;font-weight:600;border-bottom:2px solid #667eea}.sidebar-tabs[data-v-4bfdd8fc] .el-tabs__content{padding:16px}.chat-placeholder[data-v-4bfdd8fc]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 0;text-align:center}.chat-placeholder p[data-v-4bfdd8fc]{margin:0;color:#666;font-size:14px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:0 20px}.blog-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 0;box-shadow:0 2px 10px #0000001a}.blog-header h1{margin-bottom:1rem;font-size:2rem}.blog-header nav{display:flex;gap:2rem}.blog-header nav a{color:#fff;text-decoration:none;font-weight:500;transition:opacity .3s;cursor:pointer}.blog-header nav a:hover{opacity:.8}.blog-content{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-top:2rem;margin-bottom:2rem}.blog-post{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.blog-post h2{color:#667eea;margin-bottom:1rem;font-size:1.8rem}.post-meta{display:flex;gap:1rem;margin-bottom:1.5rem;color:#666;font-size:.9rem;flex-wrap:wrap}.post-content{color:#444;position:relative}.post-content h3{margin-top:1.5rem;margin-bottom:.8rem;color:#555}.post-content h4{margin-top:1.2rem;margin-bottom:.6rem;color:#555;font-size:1.2rem}.post-content p{margin-bottom:1rem;line-height:1.8;text-align:justify}.post-content pre{background:#f4f4f4;padding:1rem;border-radius:4px;overflow-x:auto;margin:1rem 0;border-left:4px solid #667eea}.post-content code{font-family:Courier New,monospace;font-size:.9rem}.post-content ul{margin:1rem 0;padding-left:2rem}.post-content li{margin-bottom:.5rem;line-height:1.6}.blog-para{margin-bottom:1rem;line-height:1.8;color:#444;text-align:justify;font-size:1rem;transition:all .3s ease}.novel-para{margin-bottom:1rem;line-height:1.8;color:#444;text-align:justify;font-size:1rem;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:20px;height:fit-content;max-height:calc(100vh - 40px);overflow-y:auto}.widget{margin-bottom:1rem}.widget:last-child{margin-bottom:0}.sidebar-card{margin-bottom:1rem!important}.sidebar-card:last-child{margin-bottom:0!important}.widget h3{margin-bottom:1rem;color:#667eea;font-size:1.2rem}.widget ul{list-style:none}.widget ul li{margin-bottom:.5rem}.widget ul li a{color:#555;text-decoration:none;transition:color .3s;cursor:pointer}.widget ul li a:hover{color:#667eea}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tags span{background:#e0e7ff;color:#667eea;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;cursor:pointer;transition:background .3s}.tags span:hover{background:#c7d2fe}.compact-btn{background:#667eea;color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s;width:100%}.compact-btn:hover:not(:disabled){background:#5568d3}.compact-btn:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.mini-btn{background:#3498db;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s;flex-shrink:0}.mini-btn:hover:not(:disabled){background:#2980b9}.mini-btn:disabled{background:#bdc3c7;cursor:not-allowed}.mini-progress{background:#ecf0f1;height:6px;border-radius:3px;overflow:hidden;margin-bottom:.8rem}.mini-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s}.page-info{color:#666;font-size:.85rem;flex:1;text-align:center;font-weight:500}.mode-indicator{display:inline-block;font-size:.85rem;color:#666;font-weight:500;padding:.3rem .6rem;background:#f0f0f0;border-radius:4px}.search-controls{margin-bottom:20px}.search-input-group{display:flex;gap:8px;margin-bottom:15px}.search-input{flex:1;padding:8px 12px;border:2px solid #e1e5e9;border-radius:6px;font-size:14px;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-btn{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:transform .2s}.search-btn:hover{transform:translateY(-1px)}.search-options{margin-bottom:15px}.search-option{display:block;margin-bottom:8px;font-size:14px;cursor:pointer;user-select:none}.search-option input[type=checkbox]{margin-right:8px;accent-color:#667eea}.search-results{max-height:300px;overflow-y:auto;border:1px solid #e1e5e9;border-radius:6px;background:#fff}.search-result-item{padding:12px;border-bottom:1px solid #f1f3f4;cursor:pointer;transition:background-color .2s}.search-result-item:hover{background-color:#f8f9fa}.search-result-item:last-child{border-bottom:none}.search-result-title{font-weight:700;color:#333;margin-bottom:4px}.search-result-source{font-size:12px;color:#666;margin-bottom:6px}.search-result-snippet{font-size:13px;color:#555;line-height:1.4;background:#f8f9fa;padding:6px 8px;border-radius:4px;margin-top:4px}.search-highlight{background-color:#fff3cd;padding:1px 2px;border-radius:2px;font-weight:700}.search-no-results{padding:20px;text-align:center;color:#666;font-style:italic}.search-loading{padding:30px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.search-loading-spinner{display:flex;gap:.4rem;align-items:center;justify-content:center}.search-spinner-dot{width:8px;height:8px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.search-spinner-dot:nth-child(1){animation-delay:-.32s}.search-spinner-dot:nth-child(2){animation-delay:-.16s}.search-spinner-dot:nth-child(3){animation-delay:0}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.search-loading-text{color:#667eea;font-size:.9rem;font-weight:500}.search-stats{padding:8px 12px;background:#f8f9fa;border-bottom:1px solid #e1e5e9;font-size:12px;color:#666}.search-result-item.name-match{background:linear-gradient(135deg,#fff9e6,#fff3cd);border-left:4px solid #ffc107}.search-result-item.name-match:hover{background:linear-gradient(135deg,#fff3cd,#ffe69c)}.match-badge{display:inline-block;background:linear-gradient(135deg,#ffc107,#ff9800);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;margin-left:8px;text-transform:uppercase;letter-spacing:.5px}.search-name-match{font-weight:700;color:#856404;padding:8px;background:#ffc1071a;border-radius:4px;margin-top:4px}.search-name-match .search-highlight{background-color:#ffc107;color:#333;padding:2px 4px;border-radius:3px;font-weight:700}@media (max-width: 768px){.blog-content{grid-template-columns:1fr}.sidebar{order:-1;position:static;max-height:none}.blog-header h1{font-size:1.5rem}.blog-header nav{gap:1rem}.search-input-group{flex-direction:column}.search-btn{width:100%}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}#app.csdn{background:#f5f5f5}.csdn-container{max-width:1400px;margin:0 auto;padding:20px;display:grid;grid-template-columns:280px 1fr 300px;gap:20px;min-height:calc(100vh - 60px)}@media (max-width: 1200px){.csdn-container{grid-template-columns:1fr;gap:15px}.csdn-container>*{width:100%}}@media (max-width: 768px){.csdn-container{padding:10px;gap:10px}}
