/* ===== 标准答案连线表（学员端 / 后台共用，自带配色，不依赖页面 CSS 变量） ===== */
.answer-table { font-size: 11px; color: #c8cdd4; }
.answer-table .at-sec { margin-bottom: 10px; }
.answer-table .at-head {
  font-size: 11px; font-weight: 700; color: #e6e9ee;
  margin-bottom: 5px; display: flex; align-items: center; gap: 6px;
  border-left: 3px solid #4a90d9; padding-left: 7px;
}
.answer-table .at-danger .at-head { border-left-color: #e74c3c; }
.answer-table .at-badge {
  font-weight: 400; font-size: 10px; color: #9aa3ad;
  background: #2c3138; border-radius: 8px; padding: 1px 6px;
}
.answer-table .at-grid { width: 100%; border-collapse: collapse; table-layout: fixed; }
.answer-table .at-grid th {
  text-align: left; font-weight: 600; color: #8a929c; font-size: 10px;
  padding: 3px 4px; border-bottom: 1px solid #343a42;
}
.answer-table .at-grid td {
  padding: 4px; border-bottom: 1px solid #262b31;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.answer-table .at-grid tr:last-child td { border-bottom: 0; }
.answer-table .at-no { width: 20px; color: #6c757d; text-align: center; }
.answer-table .at-arrow { width: 18px; color: #6c757d; text-align: center; }
.answer-table .at-st { width: 58px; text-align: right; }
.answer-table .at-reason { color: #e5a07a; }
.answer-table .at-pin { color: #7fb3e8; }
.answer-table .at-ok { color: #2ecc71; }
.answer-table .at-miss { color: #f39c12; }
.answer-table .at-bad { color: #e74c3c; }
.answer-table .at-muted { color: #6c757d; padding: 3px 4px; }
.answer-table .at-extra > div { padding: 3px 4px; color: #9aa3ad; }
.answer-table .at-behavior { list-style: none; margin: 0 0 6px; padding: 0 4px; }
.answer-table .at-behavior li {
  display: flex; justify-content: space-between; gap: 8px;
  padding: 3px 0; border-bottom: 1px dashed #2c3138;
}
.answer-table .at-behavior li b { font-weight: 500; color: #9aa3ad; }
.answer-table .at-behavior li span { color: #c8cdd4; text-align: right; }
.answer-table .at-pass { padding: 4px; color: #8a929c; }
.answer-table .at-pass b { color: #f1c40f; font-size: 13px; }

/* 提交前锁定答案按钮 */
.lv-actions button:disabled { opacity: .45; cursor: not-allowed; }

/* 学员端答案面板 */
.answer-panel {
  margin-top: 8px; background: #1c2025; border: 1px solid #2c3138;
  border-radius: 5px; padding: 8px; max-height: 320px; overflow-y: auto;
}
.answer-panel .ap-head {
  font-size: 12px; color: #c8cdd4; font-weight: 700;
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 8px;
}
.answer-panel .ap-switch {
  font-weight: 400; font-size: 10px; color: #8a929c;
  display: flex; align-items: center; gap: 3px; cursor: pointer;
}
.answer-panel .ap-switch input { margin: 0; cursor: pointer; }
.answer-panel .ap-note { color: #6c757d; font-size: 10px; margin-bottom: 6px; }

/* ===== 答案接线画板（后台关卡编辑，画板内为深色，清单为亮色） ===== */
.wb-add {
  display: flex; align-items: center; gap: 8px; margin-bottom: 6px; flex-wrap: wrap;
}
.wb-add select {
  font: inherit; font-size: 12px; padding: 4px 8px; min-width: 220px;
  border: 1px solid #cbd5e0; border-radius: 6px; background: #fff; color: #2d3748;
}
.wire-board {
  border: 1px solid #3a4049; border-radius: 6px; background: #1c2025;
  overflow: hidden; min-height: 80px;
}
.wb-svg { display: block; width: 100%; height: 300px; touch-action: none; }
.wb-comp { fill: #2c3138; stroke: #6b7480; stroke-width: 1.5; cursor: move; }
.wb-delcomp { fill: #e74c3c; font-size: 12px; font-weight: 700; cursor: pointer; user-select: none; }
.wb-ctext { fill: #e6e9ee; font-size: 13px; font-weight: 700; text-anchor: middle; dominant-baseline: middle; }
.wb-pin { fill: #2b6cb0; stroke: #fff; stroke-width: 1.5; cursor: pointer; }
.wb-pin:hover { fill: #f39c12; }
.wb-pin.wb-sel { fill: #f1c40f; stroke: #fff; stroke-width: 2.5; }
.wb-plabel { fill: #9aa3ad; font-size: 11px; dominant-baseline: middle; }
.wb-line { stroke-width: 2.5; }
.wb-line.req { stroke: #2ecc71; }
.wb-line.forb { stroke: #e74c3c; stroke-dasharray: 7 5; }
.wb-tag { fill: #2ecc71; }
.wb-tag.forb { fill: #e74c3c; }
.wb-tagtext { fill: #14171b; font-size: 11px; font-weight: 700; text-anchor: middle; dominant-baseline: middle; }
.wb-empty { color: #8a929c; font-size: 12px; padding: 24px 12px; text-align: center; }
.wb-hint { color: #8a929c; font-size: 11px; margin: 5px 0; }
.wb-msg { color: #2b6cb0; font-size: 11px; margin-left: 8px; }

.wire-list { margin-top: 8px; }
.wb-table { width: 100%; border-collapse: collapse; font-size: 12px; color: #2d3748; }
.wb-table th {
  font-size: 11px; color: #718096; font-weight: 600; text-align: left;
  padding: 4px 6px; border-bottom: 1px solid #e2e8f0;
}
.wb-table td { padding: 4px 6px; border-bottom: 1px solid #edf2f7; }
.wb-table select, .wb-table input[type=text] {
  font: inherit; font-size: 12px; padding: 3px 6px;
  border: 1px solid #cbd5e0; border-radius: 4px; width: 100%;
}
.wb-table .wb-del {
  background: transparent; border: 1px solid #e53e3e; color: #e53e3e;
  font-size: 11px; padding: 2px 8px; border-radius: 4px; cursor: pointer;
}
.wb-actions { margin-top: 8px; display: flex; align-items: center; }
.wb-none { color: #a0aec0; font-size: 12px; padding: 6px; }

/* 后台编辑弹窗里的实时预览 */
.answer-preview {
  margin-top: 6px; border: 1px solid #3a4049; border-radius: 4px;
  background: #1c2025; padding: 8px; max-height: 220px; overflow-y: auto;
}
.answer-preview .ap-err { color: #e74c3c; font-size: 11px; }
