*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}#root{min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:#fff;border-bottom:1px solid #e8e8e8;padding:0 24px}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:32px;height:56px}.logo{font-size:18px;font-weight:700;color:#1890ff;text-decoration:none}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{padding:8px 16px;color:#666;text-decoration:none;border-radius:4px;font-size:14px;transition:all .2s}.nav a:hover{background:#1890ff;color:#fff}.main{max-width:1200px;margin:0 auto;padding:24px;width:100%}.card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:16px;margin-bottom:16px}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#333}.metric-grid{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.metric-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:16px;flex:1;min-width:180px}.metric-label{font-size:13px;color:#999;margin-bottom:4px}.metric-value{font-size:28px;font-weight:700;color:#1890ff}.quick-links{display:flex;flex-wrap:wrap;gap:12px}.quick-link{display:inline-block;padding:12px 24px;background:#1890ff;color:#fff;text-decoration:none;border-radius:6px;font-size:14px;transition:background .2s}.quick-link:hover{background:#40a9ff}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;color:#666;margin-bottom:6px}.form-control{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:border-color .2s}.form-control:focus{border-color:#1890ff}select.form-control{cursor:pointer}.btn{padding:8px 20px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-primary{background:#1890ff;color:#fff}.btn-primary:hover{background:#40a9ff}.btn-primary:disabled{background:#d9d9d9;cursor:not-allowed}.result-box{margin-top:20px;padding:16px;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;font-size:14px;word-break:break-all}.result-item{margin-bottom:8px;display:flex;gap:8px}.result-label{color:#666;min-width:120px}.result-value{font-weight:600;color:#333}.error-msg{color:#ff4d4f;font-size:13px;margin-top:8px}.file-upload{border:2px dashed #d9d9d9;border-radius:6px;padding:32px;text-align:center;cursor:pointer;transition:border-color .2s;margin-bottom:16px}.file-upload:hover{border-color:#1890ff}.file-upload input[type=file]{display:none}.file-hint{font-size:13px;color:#999;margin-top:8px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e8e8e8}.table th{background:#fafafa;font-weight:600;color:#333}.table tr:hover td{background:#f5f5f5}.equity-chart{width:100%;height:200px;border:1px solid #e8e8e8;border-radius:6px;padding:8px;background:#fafafa;font-family:monospace;font-size:11px;overflow:hidden;white-space:pre;color:#1890ff;line-height:1.2}.strategy-list{display:flex;flex-direction:column;gap:12px}.strategy-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #e8e8e8;border-radius:6px;flex-wrap:wrap;gap:8px}.strategy-info{display:flex;gap:16px;flex-wrap:wrap}.strategy-name{font-weight:600;color:#1890ff;font-size:15px}.strategy-meta{font-size:13px;color:#999}.loading{text-align:center;padding:40px;color:#999;font-size:14px}.strategy-select{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.strategy-select label{padding:8px 12px;border:1px solid #ddd;border-radius:4px;cursor:pointer}.strategy-select label.selected{background:#e6f7ff;border-color:#1890ff}.btn-danger{color:red;margin-left:8px}.bar-chart{margin-top:24px}.bar-row{display:flex;align-items:center;margin:8px 0}.bar-label{width:120px;font-size:13px}.bar-container{display:flex;align-items:center;flex:1}.bar{height:20px;transition:width .3s}.bar-pos{background:#52c41a}.bar-neg{background:#ff4d4f}.bar-value{margin-left:8px;font-size:13px}
