/* ============ 填空 / 简答 ============ */
.dot.fill { background: #0891b2; }
.dot.short { background: #be185d; }
.badge.fill { background: #e0f4f8; color: #0b6d82; }
.badge.short { background: #fce8f0; color: #a3175a; }
.tb-fill { height: 100%; border-radius: 5px; background: #0891b2; transition: width .7s ease; }
.tb-fill.fill { background: #0891b2; }
.tb-fill.short { background: #be185d; }

.text-answer { margin-top: 14px; }
.fill-answer { display: flex; flex-direction: column; gap: 10px; }
.fill-row { display: flex; align-items: center; gap: 10px; }
.fill-no { flex: 0 0 62px; font-size: .82rem; color: var(--ink-2); font-weight: 550; }
.fill-input {
  flex: 1; padding: 10px 13px; border: 1px solid var(--line); border-radius: 9px;
  font-size: .95rem; font-family: inherit; max-width: 420px;
}
.fill-input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-l); }
.fill-input.single { max-width: 100%; }
.short-input { min-height: 120px; }
.char-count { text-align: right; }

/* 成绩页填空/简答展示 */
.blank-review { display: flex; flex-direction: column; gap: 7px; margin-top: 12px; }
.blank-line {
  display: flex; gap: 10px; align-items: baseline; padding: 8px 12px; border-radius: 8px;
  background: #f8fafd; font-size: .9rem; flex-wrap: wrap;
}
.blank-line.ok { background: var(--ok-l); }
.blank-line.bad { background: var(--err-l); }
.blank-line .bn { flex: 0 0 52px; color: var(--muted); font-size: .8rem; }
.blank-line .bv { font-weight: 600; }
.blank-line .ba { color: var(--muted); font-size: .84rem; }
.kw-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.kw { font-size: .78rem; padding: 2px 9px; border-radius: 20px; background: #eef1f7; color: var(--muted); }
.kw.hit { background: var(--ok-l); color: #14753a; }
.kw.miss { background: #eef1f7; color: var(--muted); }
.short-review {
  margin-top: 12px; padding: 12px 14px; background: #f8fafd; border-radius: 9px;
  font-size: .9rem; white-space: pre-wrap; border-left: 3px solid #be185d;
}
