/* ===== lab.css · 实验室补丁样式（从 index.html 内联 <style> 移入） ===== */
/* 通用工具类（替代正文内联 style 属性） */
.sub { font-size: 13px; color: var(--mi-text-secondary); }
.mt10 { margin-top: 10px; }
.mt12 { margin-top: 12px; }
.center-row { justify-content: center; }

/* 行与输入 */
.mi-row { flex-wrap: wrap; }
.mi-row + .mi-row { margin-top: 10px; }
.inline-input { width: 90px; }

/* 自动速度滑块 + 刻度 */
.speed-box { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--mi-text-secondary); }
.speed-box input[type="range"] { width: 220px; }
.speed-box b { color: var(--mi-primary); font-weight: 600; min-width: 42px; text-align: right; }
.ticks { display: flex; justify-content: space-between; width: 220px; font-size: 11px; color: var(--mi-text-secondary); margin-top: 2px; }
.ticks span { cursor: pointer; }
.ticks span.on { color: var(--mi-primary); font-weight: 600; }

/* 曲线画布（固定高度，避免尺寸为 0 空白） */
#chart { display: block; width: 100%; height: 320px; }

/* 策略详情 A/B 卡片 */
.ab-item { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--mi-radius-sm); margin-bottom: 8px; background: var(--mi-bg); border-left: 4px solid var(--mi-border); }
.ab-item.a { border-left-color: #4096ff; }
.ab-item.b { border-left-color: #ff7a45; }
.ab-item b { font-size: 14px; }
.ab-item span { font-size: 13px; color: var(--mi-text-secondary); }

/* 策略库列表 */
.lib { max-height: 260px; overflow-y: auto; border: 1px solid var(--mi-border); border-radius: var(--mi-radius-sm); }
.lib-item { display: flex; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--mi-border); font-size: 13px; }
.lib-item:last-child { border-bottom: none; }
.lib-item .lib-name { min-width: 130px; font-weight: 600; white-space: nowrap; }
.lib-item .lib-desc { color: var(--mi-text-secondary); }
.lib-item.on-a { background: rgba(64,150,255,.10); }
.lib-item.on-b { background: rgba(255,122,69,.10); }
.lib-empty { padding: 12px; font-size: 13px; color: var(--mi-text-secondary); }

/* 混战策略多选列表（任选 n 种策略） */
.pick-list { max-height: 240px; overflow-y: auto; border: 1px solid var(--mi-border); border-radius: var(--mi-radius-sm); padding: 4px 0; margin-top: 4px; }
.pick-item { display: flex; align-items: center; gap: 8px; padding: 5px 12px; font-size: 13px; cursor: pointer; }
.pick-item:hover { background: var(--mi-bg); }
.pick-item input[type="checkbox"] { cursor: pointer; margin: 0; }

/* 战况 / 混战 / 统计 / 文件导入 */
#tournamentResult { margin-top: 12px; font-size: 14px; }
#clickDetail { margin-top: 8px; font-size: 14px; }
#moveStats { margin-top: 10px; font-size: 14px; }
#moveStats .tag { display: inline-block; min-width: 70px; padding: 2px 8px; margin: 0 6px 0 0; border-radius: var(--mi-radius-sm); background: var(--mi-bg); }
#moveStats .tag b { font-weight: 600; }
#moveStats .row { padding: 6px 0; border-bottom: 1px dashed var(--mi-border); }
#moveStats .row:last-child { border-bottom: none; }
#moveStats .who { display: inline-block; min-width: 150px; font-weight: 600; }
.file-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; font-size: 13px; color: var(--mi-text-secondary); }