/* 历史镜回测 */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,'Microsoft YaHei',sans-serif;background:#f5f7fa;color:#333;min-height:100vh;display:flex;flex-direction:column}
.header{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:0 20px;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
.header .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.logo-img{height:50px;width:auto}
.logo-text{color:#e94560;font-size:22px;font-weight:bold}
.main-nav{display:flex;align-items:center;gap:8px}
.main-nav a{color:#ccc;text-decoration:none;padding:8px 14px;font-size:15px;border-radius:6px;transition:all .3s ease}
.main-nav a:hover{color:#fff;background:rgba(255,255,255,.1)}
.main-nav a.active{color:#e94560;background:rgba(233,69,96,.1);font-weight:600}

/* 响应式导航 */
@media (max-width: 768px) {
  .header-inner{flex-direction:column;height:auto;padding:12px 0}
  .logo{margin-bottom:12px}
  .main-nav{flex-wrap:wrap;justify-content:center;gap:4px}
  .main-nav a{padding:6px 10px;font-size:14px}
}
.container{max-width:1200px;margin:0 auto;padding:24px 20px;flex:1}
.search-section{text-align:center;padding:40px 0 30px}
.search-section h1{font-size:32px;margin-bottom:8px}
.subtitle{color:#666;margin-bottom:24px}
.search-box{display:flex;justify-content:center;gap:12px;width:600px;margin:0 auto}
.search-box input{flex:1;padding:12px 16px;font-size:16px;border:2px solid #ddd;border-radius:8px;outline:none;text-align:center;letter-spacing:1px;min-width:0}
.search-box input:focus{border-color:#e94560}
.search-box button{padding:12px 28px;font-size:16px;background:#e94560;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:bold}
.search-box button:hover{background:#c73550}
.search-box button:disabled{background:#999;cursor:not-allowed}
.msg-box{max-width:600px;margin:16px auto;padding:14px 20px;border-radius:8px;text-align:center;font-size:15px}
.msg-box.error{background:#ffeaea;color:#c00;border:1px solid #fcc}
.msg-box.info{background:#e8f4fd;color:#0066cc;border:1px solid #b3d7f0}
.loading{text-align:center;padding:40px;color:#666;font-size:16px}
.spinner{display:inline-block;width:24px;height:24px;border:3px solid #ddd;border-top-color:#e94560;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-small{color:#999;font-size:14px;padding:12px}
.stats-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.stats-card .summary-text{font-size:15px;line-height:1.8;color:#444}
.stats-card .summary-text b{color:#e94560}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}
.stat-item{background:#f8f9fa;border-radius:8px;padding:14px;text-align:center}
.stat-item .label{font-size:12px;color:#888;margin-bottom:4px}
.stat-item .value{font-size:20px;font-weight:bold}
.stat-item .sub{font-size:11px;color:#999;margin-top:2px}
.positive{color:#e94560}
.negative{color:#27ae60}
.indicators-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.indicators-card h3{margin-bottom:12px;font-size:18px}
.used-tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;background:#e8f4fd;color:#0066cc}
.hint{color:#999;font-size:13px;margin-top:12px}
.indicator-selector{margin-top:20px;padding-top:16px;border-top:1px solid #eee}
.indicator-selector h4{margin-bottom:10px;color:#555}
#indicatorList{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ind-cb{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;border:1px solid #ddd;cursor:pointer;font-size:13px;user-select:none}
.ind-cb:hover{border-color:#e94560}
.ind-cb.on{background:#e94560;color:#fff;border-color:#e94560}
.ind-group{margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ind-group-label{font-weight:bold;font-size:13px;color:#333;min-width:70px}
.btn-secondary{padding:8px 24px;background:#16213e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}
.btn-secondary:hover{background:#1a1a2e}
.kline-section{margin-bottom:40px}
.kline-section h3{margin-bottom:16px;font-size:18px}
.kline-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:900px}
.kline-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.kline-card img{width:100%;display:block}
.kline-card .info{padding:8px 12px;font-size:13px;color:#666}
.footer{text-align:center;padding:20px;color:#999;font-size:13px;border-top:1px solid #eee}
.footer a{color:#666}
/* analytics */
.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.a-card{background:#fff;border-radius:10px;padding:20px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.a-card .num{font-size:28px;font-weight:bold;color:#e94560}
.a-card .desc{font-size:13px;color:#888;margin-top:4px}
table.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.05)}
table.data-table th,table.data-table td{padding:10px 14px;text-align:center;border-bottom:1px solid #f0f0f0;font-size:14px}
table.data-table th{background:#f8f9fa;font-weight:600;color:#555}
