@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap";.crawl-progress-panel[data-v-008f644d]{position:fixed;bottom:24px;right:24px;width:320px;background:var(--crawl-panel-bg);border-radius:16px;box-shadow:var(--crawl-panel-shadow);z-index:1000;overflow:hidden;transition:width .3s ease,box-shadow .3s ease,background .3s ease;-webkit-user-select:none;user-select:none}.crawl-progress-panel.minimized[data-v-008f644d]{width:280px}.panel-completed[data-v-008f644d]{box-shadow:0 10px 40px #10b98126}.panel-failed[data-v-008f644d]{box-shadow:0 10px 40px #ef444426}.panel-header[data-v-008f644d]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--crawl-header-bg);color:var(--crawl-header-text);cursor:move}.panel-header.running[data-v-008f644d]{background:var(--crawl-header-bg)}.panel-header.completed[data-v-008f644d]{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.panel-header.failed[data-v-008f644d]{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.panel-header.creating[data-v-008f644d]{background:var(--crawl-header-bg)}.header-left[data-v-008f644d]{display:flex;align-items:center;gap:10px}.header-title[data-v-008f644d]{font-size:14px;font-weight:600}.progress-mini[data-v-008f644d]{font-size:12px;background:rgba(255,255,255,.25);padding:2px 8px;border-radius:10px;font-weight:600}.header-right[data-v-008f644d]{display:flex;align-items:center;gap:6px}.btn-minimize[data-v-008f644d],.btn-close[data-v-008f644d]{background:rgba(255,255,255,.15);border:none;color:var(--crawl-header-text);width:26px;height:26px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:11px}.btn-minimize[data-v-008f644d]:hover{background:rgba(255,255,255,.3)}.btn-close[data-v-008f644d]:hover{background:rgba(255,255,255,.35)}.panel-body[data-v-008f644d]{padding:16px}.content-section[data-v-008f644d]{display:flex;flex-direction:column;gap:10px}.info-row[data-v-008f644d]{display:flex;align-items:center;gap:12px}.info-label[data-v-008f644d]{font-size:12px;color:var(--crawl-text-muted);min-width:48px;font-weight:500}.info-value[data-v-008f644d]{font-size:13px;color:var(--crawl-text);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-value.creating-text[data-v-008f644d],.info-value.running-text[data-v-008f644d]{color:var(--crawl-progress-text)}.loading-dots[data-v-008f644d]{display:flex;gap:5px;justify-content:center;margin-top:8px}.loading-dots span[data-v-008f644d]{width:7px;height:7px;border-radius:50%;background:var(--crawl-progress-text);animation:bounce-008f644d 1.4s infinite}.loading-dots span[data-v-008f644d]:nth-child(2){animation-delay:.15s}.loading-dots span[data-v-008f644d]:nth-child(3){animation-delay:.3s}@keyframes bounce-008f644d{0%,80%,to{opacity:.4;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.progress-section[data-v-008f644d]{margin:12px 0 4px}.progress-header[data-v-008f644d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label[data-v-008f644d]{font-size:12px;color:var(--crawl-text-muted);font-weight:500}.progress-percent[data-v-008f644d]{font-size:13px;font-weight:700;color:var(--crawl-progress-text)}.progress-percent.success[data-v-008f644d]{color:var(--crawl-result-value)}.progress-bar[data-v-008f644d]{height:6px;background:var(--crawl-progress-bg);border-radius:3px;overflow:hidden}.progress-fill[data-v-008f644d]{height:100%;border-radius:3px;transition:width .4s ease}.progress-fill.running[data-v-008f644d]{background:var(--crawl-progress-fill)}.progress-fill.completed[data-v-008f644d]{background:linear-gradient(90deg,#10b981,#059669)}.logs-toggle-row[data-v-008f644d]{display:flex;justify-content:flex-end;margin-top:2px}.btn-log-toggle[data-v-008f644d]{border:1px solid var(--crawl-btn-border);background:var(--crawl-btn-bg);color:var(--crawl-btn-color);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-log-toggle[data-v-008f644d]:hover{background:var(--crawl-btn-hover)}.logs-box[data-v-008f644d]{margin-top:6px;border:1px solid var(--crawl-logs-border);background:var(--crawl-logs-bg);border-radius:10px;padding:8px 10px;max-height:180px;overflow:auto}.logs-empty[data-v-008f644d]{font-size:12px;color:var(--crawl-text-muted);text-align:center;padding:8px 0}.logs-list[data-v-008f644d]{display:flex;flex-direction:column;gap:6px}.log-line[data-v-008f644d]{font-size:12px;color:var(--crawl-logs-text);line-height:1.35;white-space:pre-wrap;word-break:break-word}.result-section[data-v-008f644d]{margin-top:14px;padding-top:14px;border-top:1px solid var(--crawl-progress-bg)}.result-grid[data-v-008f644d]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-item[data-v-008f644d]{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--crawl-result-bg);border-radius:10px}.result-label[data-v-008f644d]{font-size:11px;color:var(--crawl-text-muted);margin-bottom:4px}.result-value[data-v-008f644d]{font-size:22px;font-weight:700;color:var(--crawl-result-value)}.error-section[data-v-008f644d]{margin:12px 0;padding:10px 12px;background:var(--crawl-error-bg);border-radius:8px;display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--crawl-error-text)}.button-group[data-v-008f644d]{display:flex;gap:8px;margin-top:14px}.btn-retry[data-v-008f644d],.btn-close-panel[data-v-008f644d]{flex:1;padding:10px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.btn-retry[data-v-008f644d]{background:var(--crawl-header-bg);color:var(--crawl-header-text)}.btn-retry[data-v-008f644d]:hover{transform:translateY(-1px)}.btn-close-panel[data-v-008f644d]{background:var(--crawl-close-bg);color:var(--crawl-close-color);width:100%;margin-top:10px}.btn-close-panel[data-v-008f644d]:hover{background:var(--crawl-close-hover)}.slide-up-enter-active[data-v-008f644d],.slide-up-leave-active[data-v-008f644d]{transition:all .3s ease}.slide-up-enter-from[data-v-008f644d],.slide-up-leave-to[data-v-008f644d]{opacity:0;transform:translateY(20px) scale(.95)}.theme-toggle[data-v-fcc96c6e]{position:relative;width:30px;height:30px;border:1px solid var(--panel-btn-border, rgba(148, 163, 184, .12));border-radius:9px;background:var(--panel-btn-bg, rgba(148, 163, 184, .12));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;overflow:hidden;flex-shrink:0}.theme-toggle[data-v-fcc96c6e]:hover{background:var(--panel-btn-hover-bg, rgba(148, 163, 184, .2));border-color:var(--panel-btn-hover-border, rgba(148, 163, 184, .2))}.theme-toggle[data-v-fcc96c6e]:active{transform:scale(.92)}.toggle-track[data-v-fcc96c6e]{position:relative;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.toggle-icon[data-v-fcc96c6e]{position:absolute;display:flex;align-items:center;justify-content:center;transition:all .35s cubic-bezier(.4,0,.2,1);color:var(--panel-btn-color, #e2e8f0)}.toggle-icon.sun[data-v-fcc96c6e]{opacity:0;transform:rotate(90deg) scale(.5)}.toggle-icon.sun.active[data-v-fcc96c6e]{opacity:1;transform:rotate(0) scale(1);color:#facc15}.toggle-icon.moon[data-v-fcc96c6e]{opacity:1;transform:rotate(0) scale(1)}.toggle-icon.moon.active[data-v-fcc96c6e]{opacity:1;transform:rotate(0) scale(1);color:#93c5fd}.toggle-icon.moon[data-v-fcc96c6e]:not(.active){opacity:0;transform:rotate(-90deg) scale(.5)}.analysis-progress-panel[data-v-74720bd3]{position:fixed;bottom:24px;left:50%;transform:translate(calc(-50% + var(--panel-x, 0px)),var(--panel-y, 0px));background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:18px;box-shadow:var(--panel-shadow);z-index:1001;overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease,background .3s ease;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.analysis-progress-panel.minimized[data-v-74720bd3]{height:auto!important}.panel-completed[data-v-74720bd3]{border-color:var(--panel-success-border);box-shadow:0 18px 60px var(--panel-success-glow)}.panel-cancelled[data-v-74720bd3]{border-color:#f59e0b47;box-shadow:0 18px 60px var(--panel-warn-glow)}.panel-failed[data-v-74720bd3]{border-color:var(--panel-error-border);box-shadow:0 18px 60px var(--panel-error-glow)}.panel-header[data-v-74720bd3]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 12px;background:var(--panel-header-bg);color:var(--panel-text);cursor:move;border-bottom:1px solid var(--panel-header-border);transition:background .3s ease,border-color .3s ease}.panel-header.running[data-v-74720bd3]{border-bottom-color:#22c55e29}.panel-header.cancelling[data-v-74720bd3]{border-bottom-color:#f59e0b3d}.panel-header.completed[data-v-74720bd3]{border-bottom-color:#10b9813d}.panel-header.cancelled[data-v-74720bd3]{border-bottom-color:#f59e0b33}.panel-header.failed[data-v-74720bd3]{border-bottom-color:#ef44443d}.panel-header.creating[data-v-74720bd3]{border-bottom-color:#3b82f62e}.header-left[data-v-74720bd3]{display:flex;align-items:center;gap:10px}.header-copy[data-v-74720bd3]{display:flex;flex-direction:column;gap:2px}.header-title[data-v-74720bd3]{font-size:14px;font-weight:700;letter-spacing:.01em;color:var(--panel-text)}.header-subtitle[data-v-74720bd3]{font-size:11px;color:var(--panel-text-secondary);opacity:.72}.progress-mini[data-v-74720bd3]{font-size:11px;background:var(--panel-mini-bg);color:var(--panel-mini-text);padding:3px 8px;border-radius:999px;font-weight:700}.header-right[data-v-74720bd3]{display:flex;align-items:center;gap:6px}.btn-minimize[data-v-74720bd3],.btn-close[data-v-74720bd3]{background:var(--panel-btn-bg);border:1px solid var(--panel-btn-border);color:var(--panel-btn-color);width:28px;height:28px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:11px}.btn-minimize[data-v-74720bd3]:hover,.btn-close[data-v-74720bd3]:hover{background:var(--panel-btn-hover-bg);border-color:var(--panel-btn-hover-border)}.panel-body[data-v-74720bd3]{padding:16px;overflow:auto}.content-section[data-v-74720bd3]{display:flex;flex-direction:column;gap:10px}.info-row[data-v-74720bd3]{display:flex;align-items:center;gap:12px}.info-label[data-v-74720bd3]{font-size:12px;color:var(--panel-text-muted);min-width:48px;font-weight:500}.info-value[data-v-74720bd3]{font-size:13px;color:var(--panel-text);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-hero[data-v-74720bd3]{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;border-radius:14px;background:var(--panel-section-bg);border:1px solid var(--panel-section-border)}.status-hero.compact[data-v-74720bd3]{align-items:center}.status-hero.success[data-v-74720bd3]{border-color:var(--panel-success-border)}.status-hero.cancelled[data-v-74720bd3]{border-color:#f59e0b3d}.status-hero.failed[data-v-74720bd3]{border-color:var(--panel-error-border)}.status-hero-text[data-v-74720bd3]{display:flex;flex-direction:column;gap:6px;min-width:0}.status-kicker[data-v-74720bd3]{font-size:11px;color:var(--panel-text-muted);letter-spacing:.08em;text-transform:uppercase}.status-message[data-v-74720bd3]{font-size:14px;line-height:1.45;color:var(--panel-text);word-break:break-word}.status-metric[data-v-74720bd3]{min-width:84px;padding:10px 12px;border-radius:12px;background:var(--panel-metric-bg);border:1px solid var(--panel-metric-border);text-align:center}.status-metric-value[data-v-74720bd3]{display:block;font-size:18px;font-weight:700;color:var(--panel-text)}.status-metric-label[data-v-74720bd3]{display:block;margin-top:4px;font-size:11px;color:var(--panel-text-muted)}.highlight-log[data-v-74720bd3]{padding:10px 12px;border-radius:12px;background:var(--panel-logs-bg);border:1px solid var(--panel-logs-border);display:flex;flex-direction:column;gap:6px}.highlight-log-label[data-v-74720bd3]{font-size:11px;color:var(--panel-text-muted);text-transform:uppercase;letter-spacing:.08em}.highlight-log-text[data-v-74720bd3]{font-size:13px;color:var(--panel-text-secondary);line-height:1.45;word-break:break-word}.progress-section[data-v-74720bd3]{margin:12px 0 4px}.progress-header[data-v-74720bd3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label[data-v-74720bd3]{font-size:12px;color:var(--panel-text-muted);font-weight:500}.progress-percent[data-v-74720bd3]{font-size:13px;font-weight:700;color:var(--panel-progress-text)}.progress-percent.success[data-v-74720bd3]{color:var(--panel-success)}.progress-bar[data-v-74720bd3]{height:8px;background:var(--panel-progress-bg);border-radius:999px;overflow:hidden}.progress-fill[data-v-74720bd3]{height:100%;border-radius:999px;transition:width .35s ease}.progress-fill.running[data-v-74720bd3]{background:var(--panel-progress-fill)}.progress-fill.running.cancelling[data-v-74720bd3]{background:var(--panel-progress-warn)}.progress-fill.completed[data-v-74720bd3]{background:var(--panel-progress-done)}.logs-toggle-row[data-v-74720bd3]{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:2px}.btn-log-toggle[data-v-74720bd3]{border:1px solid var(--panel-btn-secondary-border);background:var(--panel-btn-secondary-bg);color:var(--panel-btn-color);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-log-toggle[data-v-74720bd3]:hover{background:var(--panel-btn-secondary-hover)}.panel-tip[data-v-74720bd3]{font-size:11px;color:var(--panel-text-muted)}.logs-box[data-v-74720bd3]{margin-top:6px;border:1px solid var(--panel-logs-border);background:var(--panel-logs-bg);border-radius:10px;padding:8px 10px;max-height:180px;overflow:auto}.logs-box.compact[data-v-74720bd3]{max-height:150px}.logs-empty[data-v-74720bd3]{font-size:12px;color:var(--panel-text-muted);text-align:center;padding:8px 0}.logs-list[data-v-74720bd3]{display:flex;flex-direction:column;gap:6px}.log-line[data-v-74720bd3]{font-size:12px;color:var(--panel-logs-text);line-height:1.42;white-space:pre-wrap;word-break:break-word}.result-message[data-v-74720bd3]{margin-top:4px;padding:10px 12px;background:var(--panel-success-bg);border:1px solid var(--panel-success-border);border-radius:12px;display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--panel-success-text)}.result-message i[data-v-74720bd3]{color:var(--panel-success);margin-top:2px}.result-stats[data-v-74720bd3]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px}.result-stat[data-v-74720bd3]{background:var(--panel-metric-bg);border:1px solid var(--panel-metric-border);border-radius:12px;padding:10px 8px;text-align:center}.result-stat-label[data-v-74720bd3]{display:block;font-size:12px;color:var(--panel-text-muted);margin-bottom:6px}.result-stat-value[data-v-74720bd3]{display:block;font-size:16px;font-weight:700;color:var(--panel-text)}.error-section[data-v-74720bd3]{margin:12px 0;padding:10px 12px;background:var(--panel-error-bg);border:1px solid var(--panel-error-border);border-radius:12px;display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--panel-error-text)}.button-group[data-v-74720bd3]{display:flex;gap:8px;margin-top:14px}.btn-retry[data-v-74720bd3],.btn-close-panel[data-v-74720bd3]{flex:1;padding:10px 12px;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.btn-retry[data-v-74720bd3]{background:linear-gradient(135deg,#22c55e,#16a34a);color:#f8fafc}.btn-retry[data-v-74720bd3]:hover{transform:translateY(-1px)}.btn-close-panel[data-v-74720bd3]{background:var(--panel-btn-secondary-bg);color:var(--panel-btn-color);width:100%;margin-top:10px;border-color:var(--panel-btn-secondary-border)}.btn-close-panel[data-v-74720bd3]:hover{background:var(--panel-btn-secondary-hover)}.resize-handle[data-v-74720bd3]{position:absolute;right:10px;bottom:10px;width:24px;height:24px;border:none;border-radius:8px;background:var(--panel-resize-bg);color:var(--panel-resize-color);cursor:nwse-resize;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.resize-handle[data-v-74720bd3]:hover{background:var(--panel-resize-hover-bg);color:var(--panel-resize-hover-color)}.slide-up-enter-active[data-v-74720bd3],.slide-up-leave-active[data-v-74720bd3]{transition:all .3s ease}.slide-up-enter-from[data-v-74720bd3],.slide-up-leave-to[data-v-74720bd3]{opacity:0;transform:translate(calc(-50% + var(--panel-x, 0px)),calc(var(--panel-y, 0px) + 20px)) scale(.96)}@media (max-width: 640px){.analysis-progress-panel[data-v-74720bd3]{left:16px;right:16px;bottom:16px;transform:translateY(var(--panel-y, 0px));width:auto!important;max-width:none}.result-stats[data-v-74720bd3]{grid-template-columns:1fr}.status-hero[data-v-74720bd3]{flex-direction:column}.status-metric[data-v-74720bd3]{width:100%}.logs-toggle-row[data-v-74720bd3]{flex-direction:column;align-items:flex-start}}.view-fade-enter-active[data-v-b977944a],.view-fade-leave-active[data-v-b977944a]{transition:all .22s ease}.view-fade-enter-from[data-v-b977944a],.view-fade-leave-to[data-v-b977944a]{opacity:0;transform:translateY(8px)}:root{--primary: #2563eb;--primary-dark: #1e40af;--primary-light: #93c5fd;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--purple: #8b5cf6;--bg: #f4f8ff;--card-bg: #ffffff;--text: #0f172a;--text-secondary: #475569;--border: #dbe7ff;--sidebar-width: 280px;--sidebar-collapsed: 80px;--header-height: 64px;--radius: 14px;--shadow: 0 10px 22px rgba(37, 99, 235, .08);--shadow-lg: 0 16px 34px rgba(30, 64, 175, .14);--ring: 0 0 0 3px rgba(37, 99, 235, .14);--card-gradient: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--text-muted: #9ca3af;--font-body: "Inter", "Segoe UI", Roboto, sans-serif;--font-heading: "Manrope", "Inter", "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:radial-gradient(1200px 520px at 8% -15%,rgba(147,197,253,.34),rgba(147,197,253,0)),radial-gradient(980px 460px at 95% -10%,rgba(191,219,254,.42),rgba(191,219,254,0)),var(--bg);color:var(--text);overflow-x:hidden;line-height:1.5;letter-spacing:.1px}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#1e3a8a 0%,#1d4ed8 56%,#3b82f6 100%);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:width .3s ease;overflow:hidden;border-right:1px solid rgba(191,219,254,.35);box-shadow:10px 0 36px #1e40af38}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.22)}.logo-area{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.logo-text{font-size:22px;font-weight:700;white-space:nowrap}.collapse-btn{background:rgba(255,255,255,.16);border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.collapse-btn:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border:none;background:transparent;color:#eff6ffdb;border-radius:10px;cursor:pointer;font-size:15px;transition:all .22s ease;font-weight:500;white-space:nowrap;text-align:left;width:100%;position:relative;overflow:hidden}.nav-item i{font-size:18px;width:24px;text-align:center;flex-shrink:0}.nav-item:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:rgba(255,255,255,.95);border-radius:999px;transform:scaleY(0);transform-origin:center;transition:transform .2s ease}.nav-item:hover{background:rgba(255,255,255,.16);color:#fff;transform:translate(2px)}.nav-item.active{background:linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.16));color:#fff;font-weight:700;box-shadow:0 8px 18px #0f172a33}.nav-item.active:before{transform:scaleY(1)}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;gap:8px;font-size:13px;color:#ffffffb3}.footer-stat{display:flex;align-items:center;gap:8px}.footer-stat i{width:16px;text-align:center}.main-wrapper{margin-left:var(--sidebar-width);flex:1;min-height:100vh;transition:margin-left .3s ease;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(248,251,255,.92) 0%,rgba(244,248,255,.98) 100%)}.sidebar.collapsed~.main-wrapper{margin-left:var(--sidebar-collapsed)}.main-header{height:var(--header-height);background:rgba(255,255,255,.88);border-bottom:1px solid #d7e7ff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:50;box-shadow:0 8px 20px #2563eb14}.page-title{font-family:var(--font-heading);font-size:22px;font-weight:800;letter-spacing:.2px;color:var(--text)}.header-stats{display:flex;gap:12px}.main-header .el-tag.header-tag{border-color:#bfdbfe;color:#1e3a8a;background:#eff6ff;font-weight:600;border-radius:999px;padding:0 10px}.main-header .el-tag.header-tag i{color:#2563eb}.main-header .el-tag.header-tag-alert{border-color:#93c5fd;color:#1d4ed8;background:#e8f2ff}.header-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-secondary)}.header-pill i{color:var(--primary)}.main-content{flex:1;padding:24px 32px;width:100%;max-width:1600px;margin:0 auto}.card{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);animation:fadeInUp .4s ease;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.card:hover{border-color:#bfd8ff;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.stat-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;animation:fadeInUp .4s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:var(--card-color, var(--primary));flex-shrink:0}.stat-info{flex:1}.stat-value{font-size:24px;font-weight:700;color:var(--text)}.stat-value{font-family:var(--font-heading);letter-spacing:.2px}.stat-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.table-wrapper{overflow-x:auto;border:1px solid #dbe7ff;border-radius:12px;background:#ffffff}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{background:#f1f7ff;padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid #d6e6ff;white-space:nowrap}.table td{padding:12px 16px;border-bottom:1px solid #e8f1ff;color:var(--text)}.table tr:hover td{background:#f5f9ff}.table td.truncate{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.badge.high,.badge.高{background:#fef2f2;color:#dc2626}.badge.medium,.badge.中{background:#fffbeb;color:#d97706}.badge.low,.badge.低{background:#f0fdf4;color:#16a34a}.badge.critical{background:#fef2f2;color:#991b1b}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;box-shadow:0 8px 18px #2563eb3d}.btn-primary:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 12px 22px #2563eb4d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#16a34a}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover{background:#d97706}.btn-outline{background:#ffffff;border:1px solid var(--border);color:#1e3a8a}.btn-outline:hover{background:#eff6ff;border-color:#bfdbfe}.btn-sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-group{display:flex;gap:8px;flex-wrap:wrap}.search-bar{display:flex;gap:10px;margin-bottom:20px;align-items:center}.search-bar input,.search-bar select{padding:10px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#ffffff;color:var(--text);transition:border-color .2s}.search-bar input{flex:1}.search-bar input:focus,.search-bar select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.pagination{display:flex;gap:4px;justify-content:center;margin-top:20px;align-items:center}.pagination button{padding:8px 14px;border:1px solid var(--border);background:#ffffff;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;color:var(--text)}.pagination button:hover:not(:disabled){background:#2563eb;color:#fff;border-color:#2563eb;transform:translateY(-1px)}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.page-ellipsis{padding:8px 6px;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-container{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card-bg);z-index:1}.modal-header h3{font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-close:hover{background:var(--bg)}.modal-body{padding:24px}.detail-grid{display:grid;grid-template-columns:140px 1fr;gap:12px 16px;font-size:14px}.detail-label{font-weight:600;color:var(--text-secondary)}.detail-value{color:var(--text);word-break:break-all}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.chart-card{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.chart-card h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--text)}.chart-canvas{width:100%;height:240px;max-height:240px}.keyword-panel{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.keyword-panel .panel-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.keyword-panel input,.keyword-panel select{padding:10px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#ffffff}.keyword-panel input{flex:1;min-width:200px}.chips-row{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--card-gradient);border:1px solid #dbe7ff;border-radius:20px;font-size:13px;font-weight:500;box-shadow:var(--shadow)}.chip .dot{width:8px;height:8px;border-radius:50%;animation:dotPulse 2s infinite}.chip .dot.red{background:var(--danger)}.chip .dot.orange{background:var(--warning)}.chip .dot.green{background:var(--success)}.progress-bar{width:100%;height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-top:12px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:3px;transition:width .5s ease;animation:progressShine 2s infinite}.status-text{font-size:13px;color:var(--text-secondary);margin-top:8px}.loading{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:15px}.error{background:#fff2f2;border:1px solid #fecaca;color:#dc2626;padding:16px 20px;border-radius:8px;margin-bottom:20px;font-size:14px}button:focus-visible,input:focus-visible,select:focus-visible,.nav-item:focus-visible,.btn:focus-visible{outline:none;box-shadow:var(--ring)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes progressShine{0%{background-position:-200px 0}to{background-position:200px 0}}@media (max-width: 1024px){.charts-row{grid-template-columns:1fr}.stat-cards-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.main-content{padding:16px}}@media (max-width: 768px){.sidebar{width:var(--sidebar-collapsed)}.sidebar .nav-label,.sidebar .logo-text,.sidebar-footer{display:none}.main-wrapper{margin-left:var(--sidebar-collapsed)}.main-header{padding:0 16px}.page-title{font-size:18px}.header-stats{gap:8px}.detail-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root,[data-theme=dark]{--panel-bg: rgba(15, 23, 42, .96);--panel-border: rgba(148, 163, 184, .18);--panel-shadow: 0 18px 60px rgba(2, 6, 23, .42);--panel-header-bg: linear-gradient(135deg, rgba(30, 41, 59, .98) 0%, rgba(15, 23, 42, .96) 100%);--panel-header-border: rgba(148, 163, 184, .12);--panel-text: #f8fafc;--panel-text-secondary: #e2e8f0;--panel-text-muted: #94a3b8;--panel-text-soft: #cbd5e1;--panel-section-bg: rgba(30, 41, 59, .7);--panel-section-border: rgba(148, 163, 184, .14);--panel-metric-bg: rgba(15, 23, 42, .72);--panel-metric-border: rgba(148, 163, 184, .12);--panel-logs-bg: rgba(15, 23, 42, .78);--panel-logs-border: rgba(148, 163, 184, .12);--panel-logs-text: #cbd5e1;--panel-progress-bg: rgba(51, 65, 85, .8);--panel-progress-fill: linear-gradient(90deg, #22c55e, #16a34a);--panel-progress-warn: linear-gradient(90deg, #f59e0b, #d97706);--panel-progress-done: linear-gradient(90deg, #10b981, #059669);--panel-progress-text: #22c55e;--panel-mini-bg: rgba(34, 197, 94, .16);--panel-mini-text: #bbf7d0;--panel-success: #10b981;--panel-success-bg: rgba(16, 185, 129, .1);--panel-success-border: rgba(16, 185, 129, .18);--panel-success-text: #d1fae5;--panel-success-glow: rgba(16, 185, 129, .16);--panel-error: #ef4444;--panel-error-bg: rgba(127, 29, 29, .18);--panel-error-border: rgba(239, 68, 68, .18);--panel-error-text: #fecaca;--panel-error-glow: rgba(239, 68, 68, .16);--panel-warn: #f59e0b;--panel-warn-glow: rgba(245, 158, 11, .14);--panel-btn-bg: rgba(148, 163, 184, .12);--panel-btn-border: rgba(148, 163, 184, .12);--panel-btn-color: #e2e8f0;--panel-btn-hover-bg: rgba(148, 163, 184, .2);--panel-btn-hover-border: rgba(148, 163, 184, .2);--panel-btn-secondary-bg: rgba(30, 41, 59, .7);--panel-btn-secondary-border: rgba(148, 163, 184, .14);--panel-btn-secondary-hover: rgba(51, 65, 85, .84);--panel-resize-bg: rgba(148, 163, 184, .08);--panel-resize-color: #94a3b8;--panel-resize-hover-bg: rgba(148, 163, 184, .16);--panel-resize-hover-color: #e2e8f0;--panel-dot-color: #667eea;--crawl-panel-bg: #ffffff;--crawl-panel-shadow: 0 10px 40px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.08);--crawl-header-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--crawl-header-text: #ffffff;--crawl-text: #1f2937;--crawl-text-muted: #9ca3af;--crawl-progress-bg: #f3f4f6;--crawl-progress-fill: linear-gradient(90deg, #667eea, #764ba2);--crawl-progress-text: #667eea;--crawl-logs-bg: #f8fafc;--crawl-logs-border: #eef2ff;--crawl-logs-text: #374151;--crawl-result-bg: #f0fdf4;--crawl-result-value: #10b981;--crawl-btn-bg: #ffffff;--crawl-btn-border: #e5e7eb;--crawl-btn-color: #4b5563;--crawl-btn-hover: #f9fafb;--crawl-close-bg: #f3f4f6;--crawl-close-color: #374151;--crawl-close-hover: #e5e7eb;--crawl-error-bg: #fef2f2;--crawl-error-text: #dc2626}[data-theme=light]{--panel-bg: rgba(255, 255, 255, .97);--panel-border: #d4dce6;--panel-shadow: 0 18px 60px rgba(15, 23, 42, .1);--panel-header-bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--panel-header-border: #e2e8f0;--panel-text: #0f172a;--panel-text-secondary: #334155;--panel-text-muted: #64748b;--panel-text-soft: #475569;--panel-section-bg: #f8fafc;--panel-section-border: #e2e8f0;--panel-metric-bg: #f1f5f9;--panel-metric-border: #e2e8f0;--panel-logs-bg: #f8fafc;--panel-logs-border: #e2e8f0;--panel-logs-text: #334155;--panel-progress-bg: #e2e8f0;--panel-progress-fill: linear-gradient(90deg, #22c55e, #16a34a);--panel-progress-warn: linear-gradient(90deg, #f59e0b, #d97706);--panel-progress-done: linear-gradient(90deg, #16a34a, #059669);--panel-progress-text: #16a34a;--panel-mini-bg: rgba(34, 197, 94, .12);--panel-mini-text: #15803d;--panel-success: #16a34a;--panel-success-bg: rgba(22, 163, 74, .08);--panel-success-border: rgba(22, 163, 74, .15);--panel-success-text: #14532d;--panel-success-glow: rgba(16, 185, 129, .1);--panel-error: #dc2626;--panel-error-bg: rgba(220, 38, 38, .06);--panel-error-border: rgba(220, 38, 38, .15);--panel-error-text: #991b1b;--panel-error-glow: rgba(239, 68, 68, .1);--panel-warn: #d97706;--panel-warn-glow: rgba(245, 158, 11, .1);--panel-btn-bg: rgba(100, 116, 139, .08);--panel-btn-border: rgba(100, 116, 139, .12);--panel-btn-color: #475569;--panel-btn-hover-bg: rgba(100, 116, 139, .16);--panel-btn-hover-border: rgba(100, 116, 139, .18);--panel-btn-secondary-bg: #f1f5f9;--panel-btn-secondary-border: #e2e8f0;--panel-btn-secondary-hover: #e2e8f0;--panel-resize-bg: rgba(100, 116, 139, .06);--panel-resize-color: #94a3b8;--panel-resize-hover-bg: rgba(100, 116, 139, .14);--panel-resize-hover-color: #475569;--crawl-panel-bg: #ffffff;--crawl-panel-shadow: 0 10px 40px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.08);--crawl-header-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--crawl-header-text: #ffffff;--crawl-text: #1f2937;--crawl-text-muted: #9ca3af;--crawl-progress-bg: #f3f4f6;--crawl-progress-fill: linear-gradient(90deg, #667eea, #764ba2);--crawl-progress-text: #667eea;--crawl-logs-bg: #f8fafc;--crawl-logs-border: #eef2ff;--crawl-logs-text: #374151;--crawl-result-bg: #f0fdf4;--crawl-result-value: #10b981;--crawl-btn-bg: #ffffff;--crawl-btn-border: #e5e7eb;--crawl-btn-color: #4b5563;--crawl-btn-hover: #f9fafb;--crawl-close-bg: #f3f4f6;--crawl-close-color: #374151;--crawl-close-hover: #e5e7eb;--crawl-error-bg: #fef2f2;--crawl-error-text: #dc2626}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
