.backtest-config[data-v-8e3d583f]{height:100%;display:flex;flex-direction:column}.strategy-wrapper[data-v-8e3d583f]:not(:last-child){margin-bottom:2px}.strategy-item[data-v-8e3d583f]{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:1px solid transparent}.strategy-item[data-v-8e3d583f]:hover{background:var(--bg-elevated)}.strategy-item.selected[data-v-8e3d583f]{background:var(--bg-elevated);border-color:var(--border-subtle)}.strategy-item input[type=checkbox][data-v-8e3d583f]{accent-color:var(--accent-blue);width:14px;height:14px;cursor:pointer}.strategy-info[data-v-8e3d583f]{flex:1;min-width:0}.strategy-name[data-v-8e3d583f]{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-primary)}.params-toggle[data-v-8e3d583f]{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.params-toggle[data-v-8e3d583f]:hover{color:var(--accent-blue);background:var(--accent-blue-dim)}.params-panel[data-v-8e3d583f]{margin:2px 0 6px;padding:10px 12px;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.params-grid[data-v-8e3d583f]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.no-params[data-v-8e3d583f]{font-size:11px;color:var(--text-muted);text-align:center;padding:6px 0}.stock-search[data-v-8e3d583f]{position:relative}.search-input[data-v-8e3d583f]{width:100%;padding:9px 12px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-mono);outline:none;transition:all var(--transition-fast)}.search-input[data-v-8e3d583f]:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim)}.search-input[data-v-8e3d583f]::placeholder{color:var(--text-muted)}.search-dropdown[data-v-8e3d583f]{position:absolute;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-muted);border-top:none;z-index:100;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 8px 24px #0000004d}.search-dropdown[data-v-8e3d583f]::-webkit-scrollbar{width:4px}.search-dropdown[data-v-8e3d583f]::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:2px}.search-item[data-v-8e3d583f]{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;transition:background var(--transition-fast)}.search-item[data-v-8e3d583f]:hover{background:var(--bg-elevated)}.scode[data-v-8e3d583f]{font-family:var(--font-mono);font-size:13px;color:var(--accent-blue);font-weight:700}.sname[data-v-8e3d583f]{font-size:13px;color:var(--text-primary);font-weight:500}.sindustry[data-v-8e3d583f]{font-size:11px;color:var(--text-muted);margin-left:auto}.selected-stocks[data-v-8e3d583f]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-height:32px}.stock-tag[data-v-8e3d583f]{display:flex;align-items:center;gap:6px;padding:3px 10px;background:var(--bg-badge);border:1px solid rgba(59,130,246,.25);border-radius:20px;font-family:var(--font-mono);font-size:12px;color:var(--accent-blue);font-weight:600}.tag-remove[data-v-8e3d583f]{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0;line-height:1;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast)}.tag-remove[data-v-8e3d583f]:hover{color:var(--up);background:var(--up-dim)}.no-stocks[data-v-8e3d583f]{font-size:12px;color:var(--text-muted);padding:6px 0}.params-row[data-v-8e3d583f]{display:flex;flex-direction:column;gap:10px}.param-2col[data-v-8e3d583f]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.param-field[data-v-8e3d583f]{display:flex;flex-direction:column;gap:5px}.param-label[data-v-8e3d583f]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.param-input[data-v-8e3d583f]{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-mono);font-weight:600;outline:none;transition:all var(--transition-fast)}.param-input[data-v-8e3d583f]:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim)}.param-input[type=date][data-v-8e3d583f]{font-family:var(--font-mono);color-scheme:dark}select.param-input[data-v-8e3d583f]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.actions[data-v-8e3d583f]{display:flex;gap:10px;padding:14px 16px}.error-msg[data-v-8e3d583f]{padding:10px 16px;font-size:12px;color:var(--up);background:var(--up-dim);border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.15);margin:0 0 8px}.backtest-result[data-v-c3c870f4]{height:100%;overflow-y:auto;padding:20px 24px}.empty-state[data-v-c3c870f4]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;gap:16px;color:var(--text-muted)}.empty-icon[data-v-c3c870f4]{font-size:48px;color:var(--accent-blue);opacity:.25}.empty-title[data-v-c3c870f4]{font-size:20px;font-weight:700;color:var(--accent-blue);letter-spacing:3px;font-family:var(--font-sans)}.empty-desc[data-v-c3c870f4]{font-size:13px;color:var(--text-muted);max-width:400px;text-align:center;line-height:1.6}.empty-hints[data-v-c3c870f4]{display:flex;flex-direction:column;gap:8px;margin-top:12px}.hint-item[data-v-c3c870f4]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);max-width:500px}.hint-icon[data-v-c3c870f4]{width:20px;text-align:center;color:var(--accent-blue);opacity:.6}.result-content[data-v-c3c870f4]{display:flex;flex-direction:column;gap:16px}.result-content.history-trigger[data-v-c3c870f4]{gap:0}.result-header[data-v-c3c870f4]{display:flex;flex-direction:column;gap:4px}.result-header-row[data-v-c3c870f4]{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border-color);margin-bottom:16px}.rh-label[data-v-c3c870f4]{font-family:var(--font-sans);font-size:18px;font-weight:700;letter-spacing:2px}.rh-sub[data-v-c3c870f4]{font-size:12px;color:var(--text-secondary)}.stats-grid[data-v-c3c870f4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.stat-card[data-v-c3c870f4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px #4a90d90f}.stat-label[data-v-c3c870f4]{font-size:12px;color:var(--text-secondary);font-weight:600}.stat-value[data-v-c3c870f4]{font-family:var(--font-mono);font-size:18px;font-weight:700}.detail-row[data-v-c3c870f4]{display:flex;gap:16px;flex-wrap:wrap;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px}.detail-item[data-v-c3c870f4]{display:flex;align-items:center;gap:6px}.d-label[data-v-c3c870f4]{font-size:13px;color:var(--text-secondary);font-weight:600}.d-value[data-v-c3c870f4]{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary)}.d-value.mono[data-v-c3c870f4]{color:var(--text-muted)}.chart-section[data-v-c3c870f4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.batch-detail .chart-container-sm[data-v-c3c870f4]{background:var(--bg-surface-2);border-radius:4px}.chart-container[data-v-c3c870f4]{width:100%;height:350px}.chart-container-sm[data-v-c3c870f4]{width:100%;height:280px;margin:8px 0;min-height:280px;overflow:hidden}.trades-section[data-v-c3c870f4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.section-header[data-v-c3c870f4]{display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.trade-count[data-v-c3c870f4]{font-size:10px;color:var(--text-muted);font-weight:400;letter-spacing:0;text-transform:none;margin-left:auto}.trades-table-wrap[data-v-c3c870f4]{overflow-x:auto}.trades-table[data-v-c3c870f4]{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font-mono)}.trades-table th[data-v-c3c870f4]{padding:10px 12px;text-align:left;color:var(--text-primary);font-weight:700;font-size:13px;border-bottom:2px solid var(--border-color);white-space:nowrap;position:sticky;top:0;background:var(--bg-surface-2)}.trades-table td[data-v-c3c870f4]{padding:9px 12px;border-bottom:1px solid var(--border-color);white-space:nowrap}.trades-table tr:hover td[data-v-c3c870f4]{background:var(--bg-hover)}.trades-table tbody tr[data-v-c3c870f4]:nth-child(2n){background:#ffffff0b}.trade-win td[data-v-c3c870f4]{border-left:3px solid var(--accent-red)}.trade-loss td[data-v-c3c870f4]{border-left:3px solid var(--accent-green)}.signal-cell[data-v-c3c870f4]{max-width:150px;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font-size:10px}.batch-chart-wrap[data-v-c3c870f4]{margin:8px 12px}.batch-chart-wrap .chart-container-sm[data-v-c3c870f4]{height:220px}.signal-detail[data-v-c3c870f4]{display:block;font-size:10px;color:var(--text-muted);margin-top:2px}.signal-values[data-v-c3c870f4]{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.signal-tag[data-v-c3c870f4]{background:#4a90d91f;color:var(--accent-blue);font-size:10px;padding:1px 5px;border-radius:3px}.mono[data-v-c3c870f4]{font-family:var(--font-mono)}.heatmap-wrap[data-v-c3c870f4]{overflow-x:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.heatmap-table[data-v-c3c870f4]{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-display)}.heatmap-table th[data-v-c3c870f4],.heatmap-table td[data-v-c3c870f4]{padding:9px 11px;text-align:center;border:1px solid var(--border-subtle);font-size:12px}.heatmap-table th[data-v-c3c870f4]{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-elevated);letter-spacing:.3px;white-space:nowrap}.heatmap-table tbody tr[data-v-c3c870f4]:nth-child(2n){background:#ffffff0b}.strategy-name-cell[data-v-c3c870f4]{font-family:var(--font-display);font-size:12px;font-weight:600;text-align:left!important;color:var(--text-primary);letter-spacing:.2px;white-space:nowrap}.hm-cell[data-v-c3c870f4]{padding:7px 9px!important;min-width:90px}.hm-return[data-v-c3c870f4]{font-family:SF Mono,Cascadia Code,JetBrains Mono,Fira Code,Consolas,monospace;font-size:15px;font-weight:700;letter-spacing:-.3px;line-height:1.2}.hm-trades[data-v-c3c870f4]{font-size:10px;color:var(--text-muted);margin-top:2px;font-family:var(--font-mono);letter-spacing:0}.hm-error[data-v-c3c870f4]{font-size:10px;color:var(--up)}.hm-pending[data-v-c3c870f4]{color:var(--text-muted);animation:pulse-c3c870f4 1s infinite}.hm-pos[data-v-c3c870f4]{color:var(--up);background:#ef444414;font-weight:600}.hm-neg[data-v-c3c870f4]{color:var(--down);background:#22c55e0f;font-weight:500}.hm-high-neg[data-v-c3c870f4]{color:var(--down);background:#22c55e1a;font-weight:700}.correlation-section[data-v-c3c870f4]{margin-top:16px}.corr-layout[data-v-c3c870f4]{display:grid;grid-template-columns:3fr 2fr;gap:12px;margin-bottom:16px}@media (max-width: 900px){.corr-layout[data-v-c3c870f4]{grid-template-columns:1fr}}.corr-block[data-v-c3c870f4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px}.corr-title[data-v-c3c870f4]{font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.corr-heatmap[data-v-c3c870f4]{display:grid;gap:2px;width:100%;max-width:none;min-width:0}.corr-strategy-header[data-v-c3c870f4]{text-align:center;font-size:11px;font-weight:700;color:var(--text-secondary);padding:4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.corr-strategy-label[data-v-c3c870f4]{display:flex;align-items:center;justify-content:flex-end;font-size:11px;font-weight:700;color:var(--text-secondary);padding-right:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.corr-cell[data-v-c3c870f4]{text-align:center;padding:8px 2px;border-radius:3px;font-size:12px;font-weight:700;color:var(--text-primary);cursor:default;min-width:0}.corr-diag[data-v-c3c870f4]{outline:1px solid var(--accent-blue);outline-offset:-1px}.corr-legend[data-v-c3c870f4]{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:10px;color:var(--text-muted)}.legend-gradient[data-v-c3c870f4]{width:100px;height:8px;background:linear-gradient(to right,var(--accent-green),#F5A623,var(--accent-red));border-radius:2px}.legend-note[data-v-c3c870f4]{margin-left:8px}.corr-table[data-v-c3c870f4]{width:100%;border-collapse:collapse;font-size:11px}.corr-table th[data-v-c3c870f4]{background:var(--bg-surface-2);padding:5px 6px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;color:var(--text-secondary)}.corr-table td[data-v-c3c870f4]{padding:5px 6px;border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary)}.corr-table tbody tr[data-v-c3c870f4]:nth-child(2n){background:#ffffff0b}.corr-sname[data-v-c3c870f4]{font-weight:700;color:var(--text-primary);white-space:nowrap}.corr-down[data-v-c3c870f4]{color:var(--accent-green)}.cn-up[data-v-c3c870f4]{color:var(--accent-red)}.cn-down[data-v-c3c870f4]{color:var(--accent-green)}.corr-info[data-v-c3c870f4]{margin-top:8px;font-size:10px;color:var(--text-muted)}.batch-detail[data-v-c3c870f4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;overflow:hidden;margin-bottom:12px}.compact .trades-table td[data-v-c3c870f4]{padding:5px 10px}.compact .trades-table-wrap[data-v-c3c870f4]{max-height:300px;overflow-y:auto}.more-trades[data-v-c3c870f4]{text-align:center;color:var(--text-muted);font-style:italic}.batch-detail-trade-count[data-v-c3c870f4]{font-family:var(--font-mono);font-weight:700}.history-detail-panel .detail-stats .ds-val[data-v-c3c870f4]{font-size:13px}.history-table td[data-v-c3c870f4]{font-size:12px!important;padding:8px 10px!important}.fw-600[data-v-c3c870f4]{font-weight:700;color:var(--accent-blue)}.history-view-btn[data-v-c3c870f4]{background:var(--accent-blue);color:#fff;border:none;padding:3px 10px;border-radius:3px;font-size:11px;font-weight:600;cursor:pointer}.history-view-btn[data-v-c3c870f4]:hover{background:var(--accent-blue-dim)}.history-detail-overlay[data-v-c3c870f4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.history-detail-panel[data-v-c3c870f4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;width:500px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.detail-header[data-v-c3c870f4]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);font-family:var(--font-sans);font-size:16px;font-weight:700;color:var(--text-primary)}.close-btn[data-v-c3c870f4]{background:none;border:none;font-size:22px;color:var(--text-muted);cursor:pointer}.close-btn[data-v-c3c870f4]:hover{color:var(--text-primary)}.detail-stats[data-v-c3c870f4]{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:16px 20px}.ds-item[data-v-c3c870f4]{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--border-color)}.ds-lbl[data-v-c3c870f4]{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ds-val[data-v-c3c870f4]{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-primary)}.sub-tab-btn[data-v-c3c870f4]{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.sub-tab-btn.active[data-v-c3c870f4]{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.sub-tab-btn[data-v-c3c870f4]:hover:not(.active){color:var(--text-secondary)}.result-sub-tabs[data-v-c3c870f4]{display:flex;gap:0;border-bottom:1px solid var(--border-color);padding:0}.tab-badge[data-v-c3c870f4]{display:inline-block;background:var(--accent-blue);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;margin-left:4px}.refresh-btn[data-v-c3c870f4]{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:all .15s;margin-left:auto}.refresh-btn[data-v-c3c870f4]:hover{color:var(--accent-blue);background:var(--bg-hover)}.history-loading[data-v-c3c870f4]{text-align:center;padding:40px;color:var(--text-muted);font-size:13px}.history-table-wrap[data-v-c3c870f4]{overflow-x:auto;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px}.empty-logs[data-v-c3c870f4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted)}.clear-btn[data-v-c3c870f4]{margin-left:auto;background:var(--bg-surface-2);border:1px solid var(--border-color);color:var(--text-secondary);padding:5px 14px 5px 10px;border-radius:4px;font-size:13px;font-family:var(--font-sans);font-weight:400;cursor:pointer;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:4px}.clear-btn[data-v-c3c870f4]:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary)}.strategy-name-cell[data-v-c3c870f4]{cursor:pointer!important;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none}.strategy-name-cell[data-v-c3c870f4]:active{transform:scale(.97);background:#4a90d914!important}.strategy-name-cell[data-v-c3c870f4]:after{content:"→";position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s;color:var(--accent-blue)}.strategy-name-cell[data-v-c3c870f4]:hover:after{opacity:.6}.strategy-name-cell[data-v-c3c870f4]:hover{background:#4a90d90a!important}.compact .trades-table th[data-v-c3c870f4]{font-size:11px!important;padding:6px 8px!important}.history-table th[data-v-c3c870f4],.history-table td[data-v-c3c870f4]{text-align:center!important;vertical-align:middle!important}.history-table .mono[data-v-c3c870f4],.history-table .fw-600[data-v-c3c870f4]{text-align:center!important}.history-table td[data-v-c3c870f4]:last-child{display:flex;gap:4px;justify-content:center;align-items:center;border-bottom:1px solid var(--border-color);padding:6px 8px!important}.history-table input[type=checkbox][data-v-c3c870f4]{width:14px;height:14px;cursor:pointer;accent-color:var(--accent-blue)}.history-del-btn[data-v-c3c870f4],.del-all-btn[data-v-c3c870f4]{background:var(--accent-red);color:#fff;font-family:var(--font-sans);border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.history-del-btn[data-v-c3c870f4]{padding:3px 10px}.del-all-btn[data-v-c3c870f4]{padding:4px 12px;margin-left:4px}.del-all-btn[data-v-c3c870f4]:disabled{opacity:.4;cursor:not-allowed}.history-del-btn[data-v-c3c870f4]:hover,.del-all-btn[data-v-c3c870f4]:hover:not(:disabled){filter:brightness(1.1)}.extended-header[data-v-c3c870f4]{display:flex;align-items:center;cursor:pointer;padding:6px 10px;margin-top:10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-surface-2)}.extended-section[data-v-c3c870f4]{margin-top:4px}@keyframes pulse-c3c870f4{0%,to{opacity:1}50%{opacity:.4}}.factor-config[data-v-ee948668]{padding:8px;display:flex;flex-direction:column;gap:12px}.section-header[data-v-ee948668]{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border-color)}.form-group[data-v-ee948668]{margin-bottom:8px}.factor-select[data-v-ee948668],.date-input[data-v-ee948668]{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s}.factor-select[data-v-ee948668]:focus,.date-input[data-v-ee948668]:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.config-label[data-v-ee948668]{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:2px;font-weight:600}.analyze-btn[data-v-ee948668]{width:100%;margin-top:8px;padding:8px 0;background:linear-gradient(135deg,var(--accent-blue),#2b6cb0);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s,transform .1s;box-shadow:0 2px 4px #4a90d933}.analyze-btn[data-v-ee948668]:active:not(:disabled){transform:scale(.98)}.analyze-btn[data-v-ee948668]:hover:not(:disabled){filter:brightness(1.1)}.analyze-btn[data-v-ee948668]:disabled{opacity:.6;cursor:not-allowed}.page-container[data-v-32bd2e3e]{padding:16px}.loading-text[data-v-32bd2e3e]{color:var(--text-muted);padding:12px;font-size:13px;font-family:var(--font-mono)}.error-text[data-v-32bd2e3e]{color:var(--accent-red);padding:12px;font-size:13px;font-weight:600}.stats-grid[data-v-32bd2e3e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.stat-card[data-v-32bd2e3e]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:10px;text-align:center}.stat-label[data-v-32bd2e3e]{font-size:11px;color:var(--text-secondary);margin-bottom:4px;font-weight:600}.stat-value[data-v-32bd2e3e]{font-size:16px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.val-moderate[data-v-32bd2e3e]{color:#f5a623!important}.val-weak[data-v-32bd2e3e]{color:var(--text-muted)!important}.section-card[data-v-32bd2e3e]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin-top:12px}.section-title[data-v-32bd2e3e]{margin:0 0 8px;font-size:14px;color:var(--text-primary);font-weight:700}.data-table[data-v-32bd2e3e]{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.data-table th[data-v-32bd2e3e]{background:var(--bg-surface-2);padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-weight:600;font-size:11px}.data-table td[data-v-32bd2e3e]{padding:5px 8px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tbody tr[data-v-32bd2e3e]:nth-child(2n){background:#ffffff0b}.highlight-row td[data-v-32bd2e3e]{background:#d9304c0a;font-weight:600}.ic-guide[data-v-32bd2e3e]{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:8px 0;background:var(--bg-surface-2);border-radius:4px;font-size:11px;color:var(--text-secondary);flex-wrap:wrap}.decay-toolbar[data-v-32bd2e3e]{display:flex;align-items:center;gap:10px;margin:10px 0 2px;flex-wrap:wrap}.decay-btn[data-v-32bd2e3e]{padding:5px 12px;background:linear-gradient(135deg,var(--accent-blue),#2b6cb0);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s}.decay-btn[data-v-32bd2e3e]:hover:not(:disabled){filter:brightness(1.1)}.decay-btn[data-v-32bd2e3e]:disabled{opacity:.6;cursor:not-allowed}.decay-hint[data-v-32bd2e3e]{font-size:11px;color:var(--text-muted)}.decay-summary[data-v-32bd2e3e]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--bg-surface-2);border-radius:4px;padding:8px 12px;font-size:12px;color:var(--text-secondary)}.decay-item[data-v-32bd2e3e]{font-size:12px}.decay-item b[data-v-32bd2e3e]{color:var(--text-primary);font-family:var(--font-mono)}.verdict-tag[data-v-32bd2e3e]{padding:2px 10px;border-radius:3px;font-size:12px;font-weight:700}.verdict-up[data-v-32bd2e3e]{background:#d9304c1a;color:var(--accent-red)}.verdict-down[data-v-32bd2e3e]{background:#19a9741a;color:var(--accent-green)}.verdict-flat[data-v-32bd2e3e]{background:#9e9e9e1a;color:var(--text-muted)}.eval-grid[data-v-32bd2e3e]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.eval-title[data-v-32bd2e3e]{margin:0 0 6px;font-size:12px;color:var(--text-secondary);font-weight:600}.eval-grid .data-table td[data-v-32bd2e3e],.eval-grid .data-table th[data-v-32bd2e3e]{padding:4px 6px;font-size:11px}.guide-item[data-v-32bd2e3e]{display:flex;align-items:center;gap:4px}.dot[data-v-32bd2e3e]{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-strong[data-v-32bd2e3e]{background:var(--accent-red)}.dot-moderate[data-v-32bd2e3e]{background:#f5a623}.dot-weak[data-v-32bd2e3e]{background:var(--text-muted)}.guide-text[data-v-32bd2e3e]{margin-left:auto;color:var(--text-muted)}.cn-up[data-v-32bd2e3e]{color:var(--accent-red)!important}.cn-down[data-v-32bd2e3e]{color:var(--accent-green)!important}.dot-up[data-v-32bd2e3e]{background:var(--accent-red)}.dot-down[data-v-32bd2e3e]{background:var(--accent-green)}.ls-badge.cn-up[data-v-32bd2e3e]{background:#d9304c1a;color:var(--accent-red)}.ls-badge.cn-down[data-v-32bd2e3e]{background:#19a9741a;color:var(--accent-green)}.dot-red[data-v-32bd2e3e]{background:var(--accent-red)}.layer-guide[data-v-32bd2e3e]{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:8px 0;background:var(--bg-surface-2);border-radius:4px;font-size:11px;color:var(--text-secondary);flex-wrap:wrap}.ls-badge[data-v-32bd2e3e]{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:3px;font-size:10px;background:var(--bg-surface-2);color:var(--text-secondary);font-weight:600}.stock-rank-config[data-v-12364375]{padding:8px;display:flex;flex-direction:column;gap:12px}.section-header[data-v-12364375]{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border-color)}.form-group[data-v-12364375]{margin-bottom:8px}.factor-row[data-v-12364375]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.factor-name[data-v-12364375]{flex:1;font-size:12px;color:var(--text-primary);font-weight:600}.factor-cn[data-v-12364375]{font-size:11px;color:var(--text-muted)}.weight-input[data-v-12364375]{width:52px;padding:3px 4px;border:1px solid var(--border-color);border-radius:3px;font-size:12px;text-align:center;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s}.weight-input[data-v-12364375]:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.remove-btn[data-v-12364375]{width:20px;height:20px;border:none;background:transparent;color:var(--accent-green);border-radius:3px;cursor:pointer;font-size:14px;line-height:1;transition:background .15s}.remove-btn[data-v-12364375]:hover{background:#19a9741a}.add-factor-row[data-v-12364375]{display:flex;gap:4px;margin-top:6px}.factor-select[data-v-12364375]{flex:1;padding:4px;border:1px solid var(--border-color);border-radius:3px;font-size:11px;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s}.factor-select[data-v-12364375]:focus{outline:none;border-color:var(--accent-blue)}.add-btn[data-v-12364375]{padding:4px 8px;background:var(--bg-surface-2);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:11px;color:var(--text-primary);transition:background .15s}.add-btn[data-v-12364375]:hover{background:var(--bg-hover)}.signal-hint[data-v-12364375]{margin-top:4px;font-size:11px;color:var(--text-secondary);background:var(--bg-surface-2);border-radius:4px;padding:3px 6px}.lookback-input[data-v-12364375]{width:52px;padding:2px 4px;border:1px solid var(--border-color);border-radius:3px;font-size:11px;margin-left:4px;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s}.lookback-input[data-v-12364375]:focus{outline:none;border-color:var(--accent-blue)}.topn-row[data-v-12364375]{display:flex;align-items:center;gap:8px}.topn-slider[data-v-12364375]{flex:1;accent-color:var(--accent-blue)}.topn-value[data-v-12364375]{font-size:13px;font-weight:700;color:var(--accent-blue);min-width:24px;text-align:center;font-family:var(--font-mono)}.date-input[data-v-12364375]{width:100%;padding:4px 6px;border:1px solid var(--border-color);border-radius:3px;font-size:12px;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s}.date-input[data-v-12364375]:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.analyze-btn[data-v-12364375]{width:100%;margin-top:8px;padding:8px 0;background:linear-gradient(135deg,var(--accent-blue),#2b6cb0);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s,transform .1s;box-shadow:0 2px 4px #4a90d933}.analyze-btn[data-v-12364375]:active:not(:disabled){transform:scale(.98)}.analyze-btn[data-v-12364375]:hover:not(:disabled){filter:brightness(1.1)}.analyze-btn[data-v-12364375]:disabled{opacity:.6;cursor:not-allowed}.page-container[data-v-d2ace539]{padding:16px}.loading-text[data-v-d2ace539],.empty-text[data-v-d2ace539]{color:var(--text-muted);padding:12px;font-size:13px;font-family:var(--font-mono)}.error-text[data-v-d2ace539]{color:var(--accent-red);padding:12px;font-size:13px;font-weight:600}.rank-section[data-v-d2ace539]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px}.rank-header[data-v-d2ace539]{display:flex;align-items:center;margin-bottom:8px}.section-title[data-v-d2ace539]{margin:0;font-size:14px;color:var(--text-primary);flex:1;font-weight:700}.rank-count[data-v-d2ace539]{font-size:12px;color:var(--text-muted)}.table-wrap[data-v-d2ace539]{overflow-x:auto}.rank-table[data-v-d2ace539]{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.rank-table th[data-v-d2ace539]{background:var(--bg-surface-2);padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;color:var(--text-secondary);font-weight:600;font-size:11px}.rank-table td[data-v-d2ace539]{padding:5px 8px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.rank-table tbody tr[data-v-d2ace539]:nth-child(2n){background:#ffffff0b}.rank-num[data-v-d2ace539]{color:var(--text-muted)}.code[data-v-d2ace539]{font-family:var(--font-mono)}.name[data-v-d2ace539]{color:var(--text-primary);font-weight:600}.score-cell[data-v-d2ace539]{display:flex;align-items:center;gap:6px;min-width:120px}.score-bar[data-v-d2ace539]{height:8px;background:var(--accent-blue);border-radius:2px;opacity:.7;transition:width .3s ease}.score-value[data-v-d2ace539]{font-weight:700;color:var(--accent-blue);font-size:12px;font-family:var(--font-mono)}.factor-val[data-v-d2ace539]{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.ic-pool-config[data-v-88354331]{padding:8px 0;font-size:12px}.info-card[data-v-88354331]{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:6px;padding:10px}.info-row[data-v-88354331]{display:flex;justify-content:space-between;padding:4px 0}.info-label[data-v-88354331]{color:var(--text-tertiary)}.info-value[data-v-88354331]{color:var(--text-primary);font-weight:700}.mono[data-v-88354331]{font-family:Consolas,monospace}.gate-note[data-v-88354331]{margin-top:8px;font-size:11px;color:var(--text-muted);line-height:1.5}.factor-list[data-v-88354331]{margin-top:6px}.factor-item[data-v-88354331]{display:flex;align-items:center;gap:8px;padding:5px 8px;border-bottom:1px solid var(--border-subtle)}.factor-rank[data-v-88354331]{width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;font-size:10px}.factor-name[data-v-88354331]{flex:1;font-weight:700}.factor-icir[data-v-88354331]{color:var(--accent-blue);font-family:Consolas,monospace}.factor-weight[data-v-88354331]{color:var(--text-muted);font-family:Consolas,monospace}.empty-hint[data-v-88354331]{font-size:12px;color:var(--text-muted);padding:8px 0}.refresh-btn[data-v-88354331]{margin-top:12px}.ic-pool-result[data-v-b50ecce4]{padding:4px}.pool-banner[data-v-b50ecce4]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;font-size:13px;font-weight:700;margin-bottom:14px}.banner-on[data-v-b50ecce4]{background:#22c55e1f;color:#22c55e}.banner-off[data-v-b50ecce4]{background:#e8a0201f;color:#e8a020}.banner-dot[data-v-b50ecce4]{width:8px;height:8px;border-radius:50%;background:currentColor}.pool-grid[data-v-b50ecce4]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pool-card[data-v-b50ecce4]{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:8px;padding:10px}.pool-title[data-v-b50ecce4]{font-weight:700;margin-bottom:8px}.pool-table[data-v-b50ecce4]{width:100%;border-collapse:collapse;font-size:12px}.pool-table th[data-v-b50ecce4]{text-align:left;padding:5px 8px;color:var(--text-tertiary);font-size:11px;border-bottom:1px solid var(--border-subtle)}.pool-table td[data-v-b50ecce4]{padding:5px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.hist-table[data-v-b50ecce4]{width:100%;border-collapse:collapse;font-size:12px}.hist-table th[data-v-b50ecce4]{text-align:left;padding:6px 8px;background:var(--bg-surface-2);color:var(--text-tertiary);font-size:11px}.hist-table td[data-v-b50ecce4]{padding:6px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);white-space:nowrap}.row-alt td[data-v-b50ecce4]{background:#ffffff0b}.mono[data-v-b50ecce4]{font-family:Consolas,monospace}.empty-hint[data-v-b50ecce4],.empty-text[data-v-b50ecce4],.loading-text[data-v-b50ecce4],.error-text[data-v-b50ecce4]{font-size:12px;color:var(--text-muted);padding:10px 0}.error-text[data-v-b50ecce4]{color:var(--accent-red)}@media (max-width: 1200px){.pool-grid[data-v-b50ecce4]{grid-template-columns:1fr}}.portfolio-config[data-v-effe22c0]{padding:8px;display:flex;flex-direction:column;gap:12px}.section-header[data-v-effe22c0]{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border-color)}.form-group[data-v-effe22c0]{margin-bottom:8px}.codes-input[data-v-effe22c0],.method-select[data-v-effe22c0],.returns-input[data-v-effe22c0]{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box;transition:border-color .15s}.codes-input[data-v-effe22c0]:focus,.method-select[data-v-effe22c0]:focus,.returns-input[data-v-effe22c0]:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.codes-hint[data-v-effe22c0]{font-size:10px;color:var(--text-muted);margin-top:2px}.method-hint[data-v-effe22c0]{font-size:10px;color:var(--accent-red);margin-top:2px}.returns-input[data-v-effe22c0]{resize:vertical;min-height:50px}.lookback-row[data-v-effe22c0]{display:flex;align-items:center;gap:8px}.lookback-slider[data-v-effe22c0]{flex:1;accent-color:var(--accent-blue)}.lookback-value[data-v-effe22c0]{font-size:13px;font-weight:700;color:var(--accent-blue);min-width:24px;text-align:center;font-family:var(--font-mono)}.optimize-btn[data-v-effe22c0]{width:100%;margin-top:8px;padding:8px 0;background:linear-gradient(135deg,var(--accent-blue),#2b6cb0);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s,transform .1s;box-shadow:0 2px 4px #4a90d933}.optimize-btn[data-v-effe22c0]:active:not(:disabled){transform:scale(.98)}.optimize-btn[data-v-effe22c0]:hover:not(:disabled){filter:brightness(1.1)}.optimize-btn[data-v-effe22c0]:disabled{opacity:.6;cursor:not-allowed}.page-container[data-v-bd8339ac]{padding:16px}.loading-text[data-v-bd8339ac],.empty-text[data-v-bd8339ac]{color:var(--text-muted);padding:12px;font-size:13px}.error-text[data-v-bd8339ac]{color:var(--accent-red);padding:12px;font-size:13px}.metrics-grid[data-v-bd8339ac]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}.metric-card[data-v-bd8339ac]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:10px;text-align:center}.metric-label[data-v-bd8339ac]{font-size:11px;color:var(--text-muted);margin-bottom:4px}.metric-value[data-v-bd8339ac]{font-size:16px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.cn-up[data-v-bd8339ac]{color:var(--accent-red)}.cn-down[data-v-bd8339ac]{color:var(--accent-green)}.method-badge[data-v-bd8339ac]{display:inline-block;padding:3px 10px;background:#4a90d91f;color:var(--accent-blue);border-radius:10px;font-size:11px;margin-bottom:8px}.weights-section[data-v-bd8339ac]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px}.section-title[data-v-bd8339ac]{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.weight-row[data-v-bd8339ac]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.weight-row[data-v-bd8339ac]:nth-child(2n){background:#ffffff0b;border-radius:3px}.weight-code[data-v-bd8339ac]{width:60px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.weight-bar-wrap[data-v-bd8339ac]{flex:1;height:14px;background:var(--bg-surface-2);border-radius:3px;overflow:hidden}.weight-bar[data-v-bd8339ac]{height:100%;background:var(--accent-red);border-radius:3px;opacity:.85}.weight-value[data-v-bd8339ac]{width:50px;text-align:right;font-size:12px;font-weight:700;color:var(--accent-red);font-family:var(--font-mono)}.info-line[data-v-bd8339ac]{margin-top:8px;font-size:11px;color:var(--text-muted)}.regime-config[data-v-86b42cc8]{padding:8px}.section-header[data-v-86b42cc8]{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border-color);margin:8px 0 4px}.hint-text[data-v-86b42cc8]{font-size:11px;color:var(--text-secondary);background:var(--bg-surface-2);border-radius:4px;padding:6px 8px;line-height:1.6}.run-hint[data-v-86b42cc8]{margin-top:6px}.form-group[data-v-86b42cc8]{margin-bottom:8px}.date-input[data-v-86b42cc8]{width:100%;padding:5px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono)}.date-input[data-v-86b42cc8]:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.run-btn[data-v-86b42cc8]{width:100%;margin-top:8px;padding:7px 0;background:linear-gradient(135deg,var(--accent-red),#c01414);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #d9304c40;transition:all .15s}.run-btn[data-v-86b42cc8]:hover:not(:disabled){box-shadow:0 2px 10px #d9304c59}.run-btn[data-v-86b42cc8]:disabled{opacity:.6;cursor:not-allowed}.page-container[data-v-124d651b]{padding:16px}.result-header-row[data-v-124d651b]{display:flex;align-items:center;justify-content:space-between}.result-header .rh-label[data-v-124d651b]{font-size:15px;font-weight:700;color:var(--text-primary)}.result-header .rh-sub[data-v-124d651b]{font-size:11px;color:var(--text-muted)}.refresh-btn[data-v-124d651b]{padding:5px 12px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;font-size:12px;color:var(--text-primary);cursor:pointer;transition:all .15s}.refresh-btn[data-v-124d651b]:hover{background:var(--bg-hover)}.refresh-btn[data-v-124d651b]:disabled{opacity:.6}.error-text[data-v-124d651b]{color:var(--accent-red);padding:12px;font-size:13px}.empty-text[data-v-124d651b]{color:var(--text-muted);padding:12px;font-size:13px}.stats-grid[data-v-124d651b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.stat-card[data-v-124d651b]{background:var(--bg-surface);border:1px solid var(--border-color);border-top:3px solid var(--border-color);border-radius:6px;padding:10px;text-align:center}.phase-card[data-v-124d651b]{border-top-width:3px}.stat-label[data-v-124d651b]{font-size:11px;color:var(--text-muted);margin-bottom:4px}.stat-value[data-v-124d651b]{font-size:16px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.stat-sub[data-v-124d651b]{font-size:11px;color:var(--text-muted);margin-top:3px}.stat-money[data-v-124d651b]{font-size:13px}.section-card[data-v-124d651b]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin-top:12px}.section-title[data-v-124d651b]{margin:0 0 8px;font-size:13px;color:var(--text-primary);font-weight:600}.signal-list[data-v-124d651b]{display:flex;flex-direction:column;gap:5px}.signal-row[data-v-124d651b]{display:flex;align-items:center;gap:8px;font-size:12px}.signal-name[data-v-124d651b]{width:72px;color:var(--text-secondary);flex-shrink:0}.signal-bar-wrap[data-v-124d651b]{flex:1;height:12px;background:var(--bg-surface-2);border-radius:3px;overflow:hidden}.signal-bar[data-v-124d651b]{height:100%;border-radius:3px;opacity:.85;transition:width .3s}.signal-val[data-v-124d651b]{width:44px;text-align:right;font-family:var(--font-mono);color:var(--text-primary)}.signal-max[data-v-124d651b]{color:var(--text-muted);font-size:10px}.signal-meta[data-v-124d651b]{margin-top:8px;font-size:11px;color:var(--text-secondary);background:var(--bg-surface-2);border-radius:4px;padding:5px 8px}.weights-grid[data-v-124d651b]{display:flex;gap:12px;flex-wrap:wrap}.weight-item[data-v-124d651b]{display:flex;flex-direction:column;align-items:center;border:1px solid var(--border-color);border-radius:6px;padding:8px 14px}.weight-key[data-v-124d651b]{font-size:11px;color:var(--text-muted)}.weight-val[data-v-124d651b]{font-size:15px;font-weight:700;margin-top:2px;font-family:var(--font-mono)}.val-positive[data-v-124d651b]{color:var(--accent-red)}.val-moderate[data-v-124d651b]{color:var(--accent-amber, #e8a020)}.val-negative[data-v-124d651b]{color:var(--accent-green)}.val-weak[data-v-124d651b]{color:var(--text-muted)}.chart-legend[data-v-124d651b]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px;font-size:11px;color:var(--text-muted)}.legend-item[data-v-124d651b]{display:flex;align-items:center;gap:4px}.legend-dot[data-v-124d651b]{width:9px;height:9px;border-radius:50%;display:inline-block}.chart-container[data-v-124d651b]{width:100%;height:220px}.table-scroll[data-v-124d651b]{overflow-x:auto;margin-top:8px}.data-table[data-v-124d651b]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-124d651b]{background:var(--bg-surface-2);padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-weight:600}.data-table td[data-v-124d651b]{padding:5px 8px;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-mono)}.data-table tr:hover td[data-v-124d651b]{background:var(--bg-hover)}.phase-tag[data-v-124d651b]{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600}.mono[data-v-124d651b]{font-family:var(--font-mono);font-size:11px}.paper-config[data-v-335e168a]{padding:8px}.section-header[data-v-335e168a]{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px;border-bottom:1px solid var(--border-subtle);padding-bottom:4px}.form-group[data-v-335e168a]{margin-bottom:8px}.config-label[data-v-335e168a]{display:block;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:2px}.input[data-v-335e168a]{width:100%;padding:5px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-input);color:var(--text-primary);font-family:var(--font-mono);box-sizing:border-box;outline:none;transition:border-color var(--transition-fast)}.input[data-v-335e168a]:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim)}.pc-btns[data-v-335e168a]{display:flex;gap:6px;margin-top:4px}.btn[data-v-335e168a]{flex:1;padding:6px 0;border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast)}.btn[data-v-335e168a]:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-muted)}.btn.primary[data-v-335e168a]{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff;font-weight:600}.btn.primary[data-v-335e168a]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn[data-v-335e168a]:disabled{opacity:.5;cursor:not-allowed}.pc-msg[data-v-335e168a]{margin-top:6px;font-size:11px;border-radius:var(--radius-sm);padding:5px 8px}.pc-msg.ok[data-v-335e168a]{background:var(--up-dim);color:var(--up)}.pc-msg.err[data-v-335e168a]{background:var(--down-dim);color:var(--down)}.watchlist-config[data-v-02b9f324]{padding:8px}.section-header[data-v-02b9f324]{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border-color);margin:8px 0 4px}.search-row[data-v-02b9f324]{display:flex;gap:4px;margin-bottom:4px}.search-input[data-v-02b9f324]{flex:1;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono);transition:border-color .15s}.search-input[data-v-02b9f324]:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a90d91f}.add-btn[data-v-02b9f324]{padding:4px 10px;background:linear-gradient(135deg,var(--accent-red),#c01414);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.add-btn[data-v-02b9f324]:hover:not(:disabled){box-shadow:0 2px 6px #e814144d}.add-btn[data-v-02b9f324]:disabled{opacity:.5;cursor:not-allowed}.search-drop[data-v-02b9f324]{border:1px solid var(--border-color);border-radius:4px;background:var(--bg-surface);margin-bottom:6px;max-height:180px;overflow-y:auto}.search-item[data-v-02b9f324]{display:flex;gap:6px;padding:5px 8px;font-size:12px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .1s}.search-item[data-v-02b9f324]:hover{background:var(--bg-hover)}.si-code[data-v-02b9f324]{font-family:var(--font-mono);color:var(--text-primary)}.si-name[data-v-02b9f324]{flex:1;color:var(--text-secondary)}.si-add[data-v-02b9f324]{color:var(--accent-red)}.error-text[data-v-02b9f324]{color:var(--accent-red);font-size:11px;padding:4px 0}.wl-list[data-v-02b9f324]{max-height:300px;overflow-y:auto}.wl-row[data-v-02b9f324]{display:flex;align-items:center;gap:6px;padding:5px 6px;font-size:12px;border-bottom:1px solid var(--border-color);transition:background .1s}.wl-row[data-v-02b9f324]:nth-child(2n){background:#ffffff0b}.wl-row[data-v-02b9f324]:hover{background:var(--bg-hover)}.wl-code[data-v-02b9f324]{font-family:var(--font-mono);color:var(--text-primary);width:52px}.wl-name[data-v-02b9f324]{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-price[data-v-02b9f324]{width:52px;text-align:right;font-family:var(--font-mono);color:var(--text-primary)}.wl-chg[data-v-02b9f324]{width:58px;text-align:right;font-family:var(--font-mono)}.val-up[data-v-02b9f324]{color:var(--accent-red)}.val-down[data-v-02b9f324]{color:var(--accent-green)}.wl-del[data-v-02b9f324]{width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:16px;transition:color .15s}.wl-del[data-v-02b9f324]:hover{color:var(--accent-red)}.watchlist-result[data-v-f6cece85]{padding:16px}.wl-header[data-v-f6cece85]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.wl-title[data-v-f6cece85]{font-size:13px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.wl-badge[data-v-f6cece85]{background:var(--up);color:#fff;font-size:10px;padding:1px 7px;border-radius:3px;font-weight:600}.wl-actions[data-v-f6cece85]{display:flex;align-items:center;gap:10px}.wl-update[data-v-f6cece85]{font-size:11px;color:var(--text-muted)}.refresh-btn[data-v-f6cece85]{padding:4px 12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast)}.refresh-btn[data-v-f6cece85]:hover:not(:disabled){background:var(--bg-elevated)}.refresh-btn[data-v-f6cece85]:disabled{opacity:.5;cursor:not-allowed}.error-text[data-v-f6cece85]{color:var(--accent-red);padding:10px;font-size:13px}.loading-text[data-v-f6cece85],.empty-text[data-v-f6cece85]{color:var(--text-muted);padding:12px;font-size:13px}.table-wrap[data-v-f6cece85]{overflow-x:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.wl-table[data-v-f6cece85]{width:100%;border-collapse:collapse;font-size:12px}.wl-table th[data-v-f6cece85]{background:var(--bg-elevated);padding:7px 8px;text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-secondary);font-weight:600;font-size:11px}.wl-table td[data-v-f6cece85]{padding:6px 8px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-primary)}.wl-table tbody tr[data-v-f6cece85]:nth-child(2n){background:#ffffff0b}.wl-table tr.flash[data-v-f6cece85]{background:#f59e0b14;transition:background .3s}.mono[data-v-f6cece85]{font-family:var(--font-mono)}.val-up[data-v-f6cece85]{color:var(--accent-red)}.val-down[data-v-f6cece85]{color:var(--accent-green)}.update-time[data-v-f6cece85]{color:var(--text-muted);font-size:11px}.paper-trading[data-v-2a8697e7]{display:flex;flex-direction:column;gap:12px;padding:12px;height:100%;overflow-y:auto}.card[data-v-2a8697e7]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:12px}.card-head[data-v-2a8697e7]{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-bottom:8px}.summary-grid[data-v-2a8697e7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:10px}.summary-item[data-v-2a8697e7]{display:flex;flex-direction:column;background:var(--bg-surface-2);border-radius:6px;padding:6px 10px}.s-label[data-v-2a8697e7]{font-size:11px;color:var(--text-muted)}.s-value[data-v-2a8697e7]{font-size:14px;font-weight:700;color:var(--text-primary);margin-top:2px;font-family:var(--font-mono)}.btn[data-v-2a8697e7]{border:1px solid var(--border-color);background:var(--bg-surface-2);color:var(--text-primary);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.btn[data-v-2a8697e7]:disabled{opacity:.5;cursor:not-allowed}.muted[data-v-2a8697e7]{font-size:12px;color:var(--text-muted);font-weight:400}.paper-table[data-v-2a8697e7]{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.paper-table th[data-v-2a8697e7],.paper-table td[data-v-2a8697e7]{border-bottom:1px solid var(--border-light);padding:6px 8px;text-align:left;white-space:nowrap}.paper-table th[data-v-2a8697e7]{color:var(--text-muted);font-weight:500;background:var(--bg-surface-2)}.paper-table .group-row td[data-v-2a8697e7]:nth-child(1){width:64px}.paper-table .group-row td[data-v-2a8697e7]:nth-child(3){width:86px}.paper-table .group-row td[data-v-2a8697e7]:nth-child(4),.paper-table .group-row td[data-v-2a8697e7]:nth-child(5),.paper-table .group-row td[data-v-2a8697e7]:nth-child(6){width:88px}.paper-table .group-row td[data-v-2a8697e7]:nth-child(7){width:76px}.paper-table .group-row td[data-v-2a8697e7]:nth-child(8){width:88px}.paper-table .group-row td[data-v-2a8697e7]:nth-child(9){width:28px;text-align:center;padding-left:0;padding-right:0}.trades-scroll[data-v-2a8697e7]{max-height:45vh;overflow-y:auto}.trades-scroll .paper-table th[data-v-2a8697e7],.trades-scroll .paper-table td[data-v-2a8697e7]{text-align:center}.mono[data-v-2a8697e7]{font-family:var(--font-mono)}.time-col[data-v-2a8697e7]{color:var(--text-muted);font-size:11px}.buy[data-v-2a8697e7]{color:var(--accent-red);font-weight:600}.sell[data-v-2a8697e7]{color:var(--accent-green);font-weight:600}.val-up[data-v-2a8697e7]{color:var(--accent-red)}.val-down[data-v-2a8697e7]{color:var(--accent-green)}.status-tag[data-v-2a8697e7]{padding:1px 6px;border-radius:3px;font-size:11px}.st-pending[data-v-2a8697e7]{background:#e8a0201f;color:var(--accent-amber, #e8a020)}.st-executed[data-v-2a8697e7]{background:#e814141f;color:var(--accent-red)}.st-cancelled[data-v-2a8697e7]{background:var(--bg-surface-2);color:var(--text-muted)}.abnormal-tag[data-v-2a8697e7]{margin-left:4px;padding:1px 6px;border-radius:3px;font-size:11px;background:#e8a0202e;color:#e8a020;cursor:help}.empty-hint[data-v-2a8697e7]{font-size:12px;color:var(--text-muted);padding:12px 0}.signal-values[data-v-2a8697e7]{display:flex;flex-wrap:wrap;gap:3px}.signal-tag[data-v-2a8697e7]{background:#4a90d91f;color:var(--accent-blue);font-size:10px;padding:1px 5px;border-radius:3px}.clickable[data-v-2a8697e7]{cursor:pointer;font-family:SimSun,宋体,serif;font-weight:700}.clickable[data-v-2a8697e7]:hover{text-decoration:none}.group-row[data-v-2a8697e7]{cursor:pointer}.group-row:hover td[data-v-2a8697e7]{background:var(--bg-hover)}.group-row td[data-v-2a8697e7]{padding-top:8px;padding-bottom:8px}.row-alt td[data-v-2a8697e7]{background:#ffffff0b}.row-alt:hover td[data-v-2a8697e7]{background:var(--bg-hover)}.expand-arrow[data-v-2a8697e7]{color:var(--text-muted)}.detail-row>td[data-v-2a8697e7]{background:var(--bg-surface-2);padding:0}.detail-row>td[data-v-2a8697e7]{border-top:1px solid var(--border-color)}.inner-scroll[data-v-2a8697e7]{width:100%;overflow-x:auto}.inner-table[data-v-2a8697e7]{width:100%;min-width:720px;margin:0;table-layout:auto}.inner-table th[data-v-2a8697e7],.inner-table td[data-v-2a8697e7]{padding:5px 6px;font-size:11px;white-space:nowrap;text-align:center}.inner-table td[data-v-2a8697e7]:last-child{white-space:normal}.inner-table thead th[data-v-2a8697e7]{background:var(--bg-surface);color:var(--text-primary);font-weight:600;border-bottom:2px solid var(--border-color)}.inner-table tbody td[data-v-2a8697e7]{background:transparent}.inner-table tbody tr:nth-child(2n) td[data-v-2a8697e7]{background:#ffffff0b}.inner-table tbody tr:hover td[data-v-2a8697e7]{background:#5aa0d01a}.download-config[data-v-6b9971c2]{height:100%;display:flex;flex-direction:column}.desc-text[data-v-6b9971c2]{font-size:14px;color:var(--text-primary);line-height:1.8;margin-bottom:12px;font-weight:500}.btn[data-v-6b9971c2]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:none;border-radius:4px;font-family:var(--font-sans);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn[data-v-6b9971c2]:disabled{opacity:.4;cursor:not-allowed}.btn-primary[data-v-6b9971c2]{background:var(--accent-red);color:#fff}.btn-primary[data-v-6b9971c2]:hover:not(:disabled){background:#c01414}.btn-secondary[data-v-6b9971c2]{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary[data-v-6b9971c2]:hover:not(:disabled){background:var(--bg-hover)}.btn-cancel[data-v-6b9971c2]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1px solid var(--accent-amber);border-radius:4px;background:transparent;color:var(--accent-amber);font-family:var(--font-sans);font-size:12px;font-weight:600;cursor:pointer;margin-top:6px;transition:all .15s}.btn-cancel[data-v-6b9971c2]:hover{background:#e8a02014}.status-summary[data-v-6b9971c2]{display:flex;flex-direction:column;gap:8px}.status-row[data-v-6b9971c2]{display:flex;justify-content:space-between;align-items:center}.status-key[data-v-6b9971c2]{font-size:13px;color:var(--text-secondary);font-weight:600}.status-val[data-v-6b9971c2]{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-primary)}.status-running[data-v-6b9971c2]{color:var(--accent-amber)}.status-done[data-v-6b9971c2]{color:var(--accent-green)}.status-error[data-v-6b9971c2]{color:var(--accent-red)}.mono[data-v-6b9971c2]{font-family:PingFang SC,Microsoft YaHei,monospace}.progress-area[data-v-6b9971c2]{display:flex;flex-direction:column;gap:4px}.progress-bar[data-v-6b9971c2]{width:100%;height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden}.progress-fill[data-v-6b9971c2]{height:100%;background:var(--accent-blue);border-radius:3px;transition:width .5s ease}.progress-info[data-v-6b9971c2]{display:flex;justify-content:space-between;align-items:center;font-size:11px}.progress-text[data-v-6b9971c2]{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.progress-pct[data-v-6b9971c2]{color:var(--accent-blue);font-family:var(--font-mono);font-size:12px;font-weight:700}.download-result[data-v-555e5fa4]{height:100%;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.result-header[data-v-555e5fa4]{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.rh-label[data-v-555e5fa4]{font-family:var(--font-sans);font-size:18px;font-weight:700;letter-spacing:2px}.rh-sub[data-v-555e5fa4]{font-size:12px;color:var(--text-secondary)}.stats-grid[data-v-555e5fa4]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-card[data-v-555e5fa4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px #4a90d90f}.stat-label[data-v-555e5fa4]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-555e5fa4]{font-family:var(--font-mono);font-size:18px;font-weight:600}.val-positive[data-v-555e5fa4]{color:var(--accent-red);font-weight:600}.val-negative[data-v-555e5fa4]{color:var(--accent-green);font-weight:600}.val-cancelled[data-v-555e5fa4]{color:var(--accent-amber);font-weight:600}.history-section[data-v-555e5fa4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.log-table-wrap[data-v-555e5fa4]{overflow-y:auto;max-height:calc(100vh - 200px)}.log-table[data-v-555e5fa4]{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.log-table th[data-v-555e5fa4]{padding:10px 14px;text-align:left;color:var(--text-primary);font-weight:700;font-size:13px;border-bottom:2px solid var(--border-color);position:sticky;top:0;background:var(--bg-surface-2)}.log-table td[data-v-555e5fa4]{padding:9px 14px;border-bottom:1px solid var(--border-color);font-family:var(--font-mono);font-size:11px}.row-alt td[data-v-555e5fa4]{background:#ffffff0b}.row-alt:hover td[data-v-555e5fa4]{background:var(--bg-hover)}.log-time[data-v-555e5fa4]{color:var(--text-secondary);font-weight:600;white-space:nowrap;width:80px}.log-table thead th[data-v-555e5fa4]:nth-child(1){width:108px}.log-table thead th[data-v-555e5fa4]:nth-child(2){width:76px}.log-table thead th[data-v-555e5fa4]:nth-child(3){width:88px}.log-table thead th[data-v-555e5fa4]:nth-child(4){width:116px}.log-table thead th[data-v-555e5fa4]:nth-child(5){width:58px}.log-table thead th[data-v-555e5fa4]:nth-child(6){width:108px}.log-table thead th[data-v-555e5fa4]:nth-child(8){width:150px}.log-badge[data-v-555e5fa4]{display:inline-block;padding:1px 6px;font-size:9px;font-weight:700;border-radius:2px;letter-spacing:.5px}.badge-info[data-v-555e5fa4]{background:#4a90d91a;color:var(--accent-blue)}.badge-success[data-v-555e5fa4]{background:#19a9741a;color:var(--accent-green)}.badge-timer[data-v-555e5fa4]{background:#4a90d91a;color:var(--accent-blue)}.badge-error[data-v-555e5fa4]{background:#d9304c1a;color:var(--accent-red)}.log-msg[data-v-555e5fa4]{color:var(--text-primary);font-weight:500}.log-error td[data-v-555e5fa4]{background:#d9304c0a}.log-success td[data-v-555e5fa4]{background:#19a9740a}.stat-card[data-v-555e5fa4]{cursor:pointer;transition:background .15s}.stat-card[data-v-555e5fa4]:hover{background:var(--bg-hover)}.empty-state-sm[data-v-555e5fa4]{text-align:center;padding:40px;color:var(--text-muted);font-size:13px}.section-header[data-v-555e5fa4]{display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-sans);font-size:14px;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.section-header[data-v-555e5fa4]:before{content:"";width:3px;height:12px;background:var(--accent-blue);border-radius:1px;flex-shrink:0}.refresh-btn[data-v-555e5fa4]{background:transparent;border:none;color:var(--accent-blue);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;margin-left:8px}.refresh-btn[data-v-555e5fa4]:hover{background:var(--bg-hover)}.result-header .rh-sub[data-v-555e5fa4]{display:flex;align-items:center;gap:4px}.log-section[data-v-555e5fa4]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.log-list[data-v-555e5fa4]{max-height:200px;overflow-y:auto;padding:6px 0}.log-item[data-v-555e5fa4]{display:flex;gap:8px;padding:4px 14px;font-family:var(--font-mono);font-size:11px}.log-item-time[data-v-555e5fa4]{color:var(--text-muted);flex-shrink:0;width:60px}.log-item-msg[data-v-555e5fa4],.log-info .log-item-msg[data-v-555e5fa4]{color:var(--text-primary)}.log-success .log-item-msg[data-v-555e5fa4]{color:var(--accent-green)}.log-error .log-item-msg[data-v-555e5fa4]{color:var(--accent-red)}.detail-row td[data-v-555e5fa4]{padding:0;background:var(--bg-surface-2)}.detail-content[data-v-555e5fa4]{width:100%;box-sizing:border-box;padding:6px 0}.detail-stage-list[data-v-555e5fa4]{max-height:300px;overflow-y:auto;min-width:0;width:100%}.detail-stage-item[data-v-555e5fa4]{display:flex;align-items:center;gap:8px;padding:5px 14px;font-family:var(--font-mono);font-size:11px;border-bottom:1px solid var(--border-color);min-width:0}.detail-stage-item[data-v-555e5fa4]:last-child{border-bottom:none}.detail-stage-item.stage-active[data-v-555e5fa4]{background:#4a90d90f}.stage-time[data-v-555e5fa4]{color:var(--text-muted);min-width:40px;flex-shrink:0;white-space:nowrap}.stage-name[data-v-555e5fa4]{font-size:12px;color:var(--text-secondary);min-width:64px;flex-shrink:1;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-bar[data-v-555e5fa4]{flex:3;min-width:100px;height:10px;background:var(--bg-surface-2);border-radius:5px;overflow:hidden;flex-shrink:1}.stage-bar-fill[data-v-555e5fa4]{height:100%;background:var(--accent-green);border-radius:5px;transition:width .3s ease}.stage-bar.stage-indet .stage-bar-fill[data-v-555e5fa4]{background:linear-gradient(90deg,var(--accent-green) 0%,var(--accent-cyan) 50%,var(--accent-green) 100%);background-size:200% 100%;animation:stage-shimmer-555e5fa4 1.6s linear infinite}@keyframes stage-shimmer-555e5fa4{0%{background-position:200% 0}to{background-position:-200% 0}}.stage-progress[data-v-555e5fa4]{color:var(--text-primary);font-weight:600;min-width:30px;max-width:40px;flex-shrink:0;white-space:nowrap}.stage-weight[data-v-555e5fa4]{color:var(--text-muted);font-size:10px;min-width:36px;flex-shrink:0}.stage-done .stage-bar-fill[data-v-555e5fa4]{background:var(--accent-cyan)}.stage-msg[data-v-555e5fa4]{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-empty[data-v-555e5fa4]{color:var(--text-muted);font-size:12px;padding:20px 14px;text-align:center;line-height:1.8}.detail-hint[data-v-555e5fa4]{font-size:11px;opacity:.7}.action-view[data-v-555e5fa4]{background:#5aa0d01a;color:var(--accent-cyan)}.action-view[data-v-555e5fa4]:hover{background:#5aa0d033}.clear-all-btn[data-v-555e5fa4]{background:transparent;border:1px solid var(--accent-amber);color:var(--accent-amber);cursor:pointer;font-size:11px;padding:2px 8px;border-radius:3px;margin-left:6px;font-family:var(--font-sans)}.clear-all-btn[data-v-555e5fa4]:hover{background:#e8a02014}.action-cell[data-v-555e5fa4]{white-space:nowrap}.action-btn[data-v-555e5fa4]{display:inline-block;padding:2px 8px;border:none;border-radius:3px;font-family:var(--font-sans);font-size:11px;font-weight:600;cursor:pointer;margin:0 2px;transition:all .12s}.action-pause[data-v-555e5fa4]{background:#e8a0201a;color:var(--accent-amber)}.action-pause[data-v-555e5fa4]:hover{background:#e8a02033}.action-restart[data-v-555e5fa4]{background:#4a90d91a;color:var(--accent-blue)}.action-restart[data-v-555e5fa4]:hover{background:#4a90d933}.action-delete[data-v-555e5fa4]{background:#d9304c14;color:var(--accent-red)}.action-delete[data-v-555e5fa4]:hover{background:#d9304c26}.hist-progress-bar[data-v-555e5fa4]{width:80px;height:14px;background:var(--bg-surface-2);border-radius:7px;overflow:hidden;position:relative;display:inline-flex;align-items:center}.hist-progress-fill[data-v-555e5fa4]{height:100%;background:var(--accent-blue);border-radius:7px;transition:width .5s ease;min-width:0}.hist-progress-pct[data-v-555e5fa4]{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:700;color:var(--text-primary);text-shadow:0 0 2px rgba(255,255,255,.8)}.hist-progress-na[data-v-555e5fa4]{color:var(--text-muted);font-size:11px}.hist-progress-msg[data-v-555e5fa4]{margin-top:3px;font-size:11px;color:var(--text-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-cell[data-v-555e5fa4]{min-width:150px}:root{--bg-deep: #0a0e17;--bg-base: #0f1923;--bg-surface: #151f2b;--bg-elevated: #1a2635;--bg-input: #0d1520;--bg-badge: #1e3a5f;--bg-surface-2: #1c2838;--bg-hover: #1e2d3f;--border-color: rgba(255,255,255,.08);--border-subtle: rgba(255,255,255,.06);--border-muted: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.18);--border-accent: #2563eb;--border-light: rgba(255,255,255,.12);--text-primary: #ffffff;--text-secondary: #f8fafc;--text-tertiary: #cbd5e1;--text-muted: #a8b7c8;--accent-blue: #3b82f6;--accent-blue-dim: rgba(59,130,246,.15);--accent-red: #ef4444;--accent-green: #22c55e;--accent-amber: #f59e0b;--accent-cyan: #06b6d4;--up: #ef4444;--up-dim: rgba(239,68,68,.12);--down: #22c55e;--down-dim: rgba(34,197,94,.12);--flat: #f59e0b;--flat-dim: rgba(245,158,11,.12);--font-display: "SimSun", "宋体", serif;--font-sans: "SimSun", "宋体", serif;--font-mono: "SimSun", "宋体", serif;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--sidebar-width: 38%;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--transition-fast: .15s ease;--transition-base: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-display);font-size:13px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.01em}#app{height:100%}table thead th{font-family:SimSun,宋体,serif!important;font-weight:600!important;font-size:12px!important;color:#fff!important;letter-spacing:.5px!important}table tbody td{font-family:SimSun,宋体,serif!important;font-weight:400!important}.app-root{display:flex;height:100dvh;overflow:hidden;background:var(--bg-deep)}.sidebar{width:var(--sidebar-width);min-width:360px;max-width:560px;height:100dvh;display:flex;flex-direction:column;background:var(--bg-base);border-right:1px solid var(--border-muted);overflow:hidden;flex-shrink:0}.sidebar-header{padding:14px 18px 10px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:linear-gradient(180deg,rgba(59,130,246,.04) 0%,transparent 100%)}.logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:20px;color:var(--accent-blue);filter:drop-shadow(0 0 8px rgba(59,130,246,.3))}.logo-text{font-family:var(--font-mono);font-size:16px;font-weight:800;letter-spacing:2.5px;color:var(--text-primary);background:linear-gradient(135deg,var(--text-primary),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-sub{font-size:11px;color:var(--text-tertiary);margin-top:3px;padding-left:30px;letter-spacing:1.5px;text-transform:uppercase}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-surface)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:9px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-tertiary);font-family:var(--font-display);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-align:center;white-space:nowrap;position:relative}.tab-btn:hover{color:var(--text-secondary);background:var(--bg-elevated)}.tab-btn.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background:var(--bg-base);font-weight:700}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg-base)}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.config-panel{height:100%}.paper-panel{display:flex;flex-direction:column;min-height:0}.paper-panel .watchlist-config{flex:1;min-height:0;display:flex;flex-direction:column}.paper-panel .wl-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.paper-hint .hint-title{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.paper-hint .hint-desc{font-size:12px;line-height:1.7;color:var(--text-secondary)}.sidebar-footer{display:flex;align-items:center;gap:8px;padding:10px 18px;border-top:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-surface)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--down);box-shadow:0 0 6px #22c55e66;transition:all var(--transition-base)}.status-dot.offline,.status-dot.checking{background:var(--flat);box-shadow:0 0 6px #f59e0b4d}.status-text{font-size:11px;color:var(--text-tertiary);letter-spacing:.5px}.main-area{flex:1;height:100dvh;overflow-y:auto;overflow-x:hidden;background:var(--bg-deep);padding:20px 28px}.main-area::-webkit-scrollbar{width:6px}.main-area::-webkit-scrollbar-track{background:transparent}.main-area::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:3px}.section-header{display:flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent-blue);border-radius:var(--radius-sm);flex-shrink:0}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle);font-weight:700;font-size:13px;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:all var(--transition-fast)}.stat-card:hover{border-color:var(--border-muted);background:var(--bg-elevated)}.stat-label{font-size:11px;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-family:SF Mono,Cascadia Code,JetBrains Mono,Fira Code,Consolas,monospace;font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.5px}div.detail-row{display:flex;gap:20px;flex-wrap:wrap;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.detail-item{display:flex;align-items:center;gap:8px}.d-label{font-size:12px;color:var(--text-tertiary);font-weight:600}.d-value{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary)}.d-value.mono{color:var(--text-tertiary)}.chart-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.chart-container{width:100%;height:380px}.chart-container-sm{width:100%;height:280px;min-height:280px}.trades-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.trades-table-wrap{overflow-x:auto}.trades-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.trades-table th{padding:11px 14px;text-align:left;color:var(--text-secondary);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-muted);white-space:nowrap;background:var(--bg-elevated);position:sticky;top:0;z-index:1}.trades-table td{padding:10px 14px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-primary);transition:background var(--transition-fast)}.trades-table tbody tr:hover td{background:var(--bg-elevated)}.trades-table tbody tr:last-child td{border-bottom:none}.trade-win td{border-left:3px solid var(--up)}.trade-loss td{border-left:3px solid var(--down)}.signal-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font-size:11px}.val-positive{color:var(--up)!important;font-weight:700}.val-negative{color:var(--down)!important;font-weight:700}.val-neutral{color:var(--text-primary)!important}.val-up{color:var(--up)!important;font-weight:600}.val-down{color:var(--down)!important;font-weight:600}.mono{font-family:var(--font-mono)}.fw-600{font-weight:600;color:var(--accent-blue)}.heatmap-wrap{overflow-x:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.heatmap-table th,.heatmap-table td{padding:10px 14px;text-align:center;border:1px solid var(--border-subtle)}.heatmap-table th{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);background:var(--bg-elevated);text-transform:uppercase;letter-spacing:.5px}.strategy-name-cell{font-family:var(--font-display);font-size:12px;font-weight:600;text-align:left!important;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.strategy-name-cell:hover{color:var(--accent-blue);background:var(--accent-blue-dim)!important}.hm-return{font-family:var(--font-mono);font-size:15px;font-weight:700}.hm-trades{font-size:10px;color:var(--text-muted);margin-top:2px}.hm-error{font-size:10px;color:var(--up)}.hm-pending{color:var(--text-muted);animation:pulse 1.5s ease-in-out infinite}.hm-high,.hm-pos{color:var(--up);background:var(--up-dim)}.hm-neg,.hm-high-neg{color:var(--down);background:var(--down-dim)}.batch-detail{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px}.compact .trades-table td{padding:6px 10px}.compact .trades-table-wrap{max-height:300px;overflow-y:auto}.correlation-section{margin-top:20px}.corr-layout{display:grid;grid-template-columns:3fr 2fr;gap:16px;margin-bottom:16px}@media (max-width: 900px){.corr-layout{grid-template-columns:1fr}}.corr-block{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.corr-title{font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:10px}.corr-heatmap{display:grid;gap:2px;width:100%}.corr-strategy-header{text-align:center;font-size:11px;font-weight:700;color:var(--text-secondary);padding:4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.corr-strategy-label{display:flex;align-items:center;justify-content:flex-end;font-size:11px;font-weight:700;color:var(--text-secondary);padding-right:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.corr-cell{text-align:center;padding:8px 2px;border-radius:3px;font-size:12px;font-weight:700;color:var(--text-primary);cursor:default}.corr-diag{outline:2px solid var(--accent-blue);outline-offset:-1px}.corr-legend{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--text-tertiary)}.legend-gradient{width:120px;height:6px;background:linear-gradient(to right,var(--down),var(--flat),var(--up));border-radius:3px}.legend-note{margin-left:8px}.corr-table{width:100%;border-collapse:collapse;font-size:12px}.corr-table th{background:var(--bg-elevated);padding:7px 8px;text-align:left;border-bottom:1px solid var(--border-muted);white-space:nowrap;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.corr-table td{padding:7px 8px;border-bottom:1px solid var(--border-subtle);font-weight:600}.corr-sname{font-weight:700;color:var(--text-primary);white-space:nowrap}.corr-down{color:var(--down)}.cn-up{color:var(--up)}.cn-down{color:var(--down)}.corr-info{margin-top:10px;font-size:11px;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:11px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn-sm:hover:not(:disabled){background:var(--accent-blue-dim);border-color:var(--accent-blue);color:var(--accent-blue)}.actions{display:flex;gap:8px;padding:14px 16px}.btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,var(--accent-blue),#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f640}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #3b82f659;transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid var(--border-muted);border-radius:var(--radius-md);font-family:var(--font-display);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);background:var(--bg-surface);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-elevated)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-md);padding:16px;border-bottom:1px solid var(--border-subtle)}.summary-item{display:flex;flex-direction:column;gap:2px}.s-label{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.s-value{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--text-primary)}.paper-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.paper-table thead th{padding:10px 12px;text-align:left;color:var(--text-secondary);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-muted);background:var(--bg-elevated);white-space:nowrap;position:sticky;top:0}.paper-table tbody td{padding:9px 12px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text-primary)}.paper-table tbody tr:hover td{background:var(--bg-elevated)}.paper-table tbody tr:last-child td{border-bottom:none}.paper-table .inner-table{font-size:11px;margin:0}.group-row,.group-row td:first-child,.clickable{cursor:pointer}div.detail-row td{padding:0!important;background:#00000026}.time-col{font-size:11px;color:var(--text-tertiary)}.status-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;font-family:var(--font-display)}.status-tag.st-pending{background:var(--flat-dim);color:var(--flat)}.status-tag.st-executed{background:var(--up-dim);color:var(--up)}.status-tag.st-cancelled{background:var(--down-dim);color:var(--down)}.status-tag.st-realtime{background:var(--accent-blue-dim);color:var(--accent-blue)}.signal-tag{background:var(--bg-badge);color:var(--accent-blue);font-size:10px;padding:1px 6px;border-radius:3px;margin-right:4px}.signal-values{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.buy{color:var(--up);font-weight:700}.sell{color:var(--down);font-weight:700}.expand-arrow{color:var(--text-muted);font-weight:700}.trades-scroll{overflow-x:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--text-muted)}.empty-icon{font-size:52px;color:var(--accent-blue);opacity:.2}.empty-title{font-size:18px;font-weight:700;color:var(--text-tertiary);letter-spacing:2px;font-family:var(--font-mono)}.empty-desc{font-size:13px;color:var(--text-muted);max-width:420px;text-align:center;line-height:1.6}.empty-hints{display:flex;flex-direction:column;gap:10px;margin-top:12px}.hint-item{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted);max-width:500px}.hint-icon{width:22px;text-align:center;color:var(--accent-blue);opacity:.5}.empty-hint{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:12px}.result-content{display:flex;flex-direction:column;gap:16px}.result-header-row{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border-subtle);margin-bottom:16px}.result-header{display:flex;flex-direction:column;gap:4px}.rh-label{font-family:var(--font-mono);font-size:16px;font-weight:800;color:var(--text-primary);letter-spacing:1px}.rh-sub{font-size:12px;color:var(--text-tertiary);font-family:var(--font-mono)}.clear-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-tertiary);padding:6px 14px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.clear-btn:hover{background:var(--up-dim);border-color:var(--up);color:var(--up)}.result-sub-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);padding:0;background:var(--bg-surface);border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden}.sub-tab-btn{padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.sub-tab-btn.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.sub-tab-btn:hover:not(.active){color:var(--text-secondary)}.tab-badge{display:inline-block;background:var(--accent-blue-dim);color:var(--accent-blue);font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;margin-left:5px}.refresh-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:4px 10px;border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-left:auto}.refresh-btn:hover{color:var(--accent-blue);background:var(--accent-blue-dim)}.history-del-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:3px 10px;border-radius:var(--radius-sm);font-size:11px;cursor:pointer;transition:all var(--transition-fast)}.history-del-btn:hover{background:var(--up-dim);border-color:var(--up);color:var(--up)}.del-all-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:4px 14px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast);margin-left:4px}.del-all-btn:hover:not(:disabled){background:var(--up-dim);border-color:var(--up);color:var(--up)}.del-all-btn:disabled{opacity:.3;cursor:not-allowed}.history-table-wrap{overflow-x:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.history-table td{font-size:12px;padding:9px 12px}.history-table th{font-size:11px;padding:10px 12px}.history-table .history-view-btn{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid var(--border-subtle);padding:3px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.history-view-btn:hover{background:var(--accent-blue);color:#fff}.history-table input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer}.history-table th,.history-table td{text-align:center!important;vertical-align:middle!important}.history-table td:last-child{display:flex;gap:6px;justify-content:center;align-items:center}.history-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.history-detail-panel{background:var(--bg-surface);border:1px solid var(--border-muted);border-radius:var(--radius-lg);width:540px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 24px 80px #0006}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-primary)}.close-btn{background:transparent;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:16px 20px}.ds-item{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.ds-lbl{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ds-val{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-primary)}.extended-header{display:flex;align-items:center;cursor:pointer;padding:8px 12px;margin-top:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.extended-header:hover{background:var(--bg-surface)}.extended-header h4{margin:0;font-size:13px}.extended-header span{font-size:10px;color:var(--text-muted)}.extended-section{margin-top:4px}.error-msg{padding:10px 16px;font-size:12px;color:var(--up);background:var(--up-dim);border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.2)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .35s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:pulse 1.5s ease-in-out infinite;display:inline-block}.strategy-name-cell{transition:all var(--transition-fast);position:relative;-webkit-user-select:none;user-select:none}.strategy-name-cell:active{transform:scale(.98)}.strategy-name-cell:after{content:"→";position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity var(--transition-fast);color:var(--accent-blue)}.strategy-name-cell:hover:after{opacity:.6}*{font-family:SimSun,宋体,serif!important}table th{font-weight:500!important}table td{font-weight:400!important}
