/* 雅思冲分 · IELTS Prep —— 生词本模块样式 */

.nb-panel {
  background: #fff;
  border: 1px solid #e6e9ef;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 18px;
  box-shadow: 0 2px 10px rgba(20, 30, 60, 0.04);
}

.nb-input {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid #d8dde7;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.7;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
}

.nb-input:focus {
  border-color: #2f6fed;
  box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.12);
}

.nb-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
  align-items: center;
}

.nb-recognized {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.nb-rec-card {
  border: 1px solid #dbe6ff;
  background: #f5f9ff;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.8;
}

.nb-rec-word {
  font-size: 16px;
  font-weight: 700;
  color: #1b3a6b;
  margin-bottom: 4px;
}

.nb-rec-word em {
  font-style: normal;
  font-size: 12px;
  color: #6b7a90;
  font-weight: 400;
}

.nb-rec-line b { color: #2f6fed; }
.nb-rec-meaning { color: #4a5568; }

.nb-bar-row {
  display: grid;
  grid-template-columns: 130px 1fr 110px;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  margin-bottom: 8px;
}

.nb-bar-label { color: #33415c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nb-bar-track { background: #eef1f6; border-radius: 6px; height: 10px; overflow: hidden; }
.nb-bar-track i { display: block; height: 100%; background: linear-gradient(90deg, #4a86ff, #7c5cff); border-radius: 6px; }
.nb-bar-val { color: #6b7a90; text-align: right; white-space: nowrap; }
.nb-empty { color: #98a2b3; font-size: 13px; }

.nb-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nb-item {
  border: 1px solid #e6e9ef;
  border-left: 4px solid #c9d3e4;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: #fff;
}

.nb-item.lv2 { border-left-color: #f0a020; }
.nb-item.lv3 { border-left-color: #e5484d; }

.nb-item-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.nb-word { font-size: 17px; font-weight: 700; color: #16233a; }
.nb-pos { font-size: 12px; color: #7a879c; }
.nb-count { margin-left: auto; font-size: 12px; color: #2f6fed; font-weight: 600; }

.nb-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.nb-tag {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef1f6;
  color: #44506a;
}
.nb-tag.exam { background: #e8f0ff; color: #2f6fed; }
.nb-tag.dir { background: #f3ecff; color: #7c5cff; }
.nb-tag.topic { background: #e9f8f1; color: #0f9d6b; }
.nb-tag.level { background: #fff4e5; color: #d98207; }

.nb-freq { height: 6px; background: #eef1f6; border-radius: 4px; overflow: hidden; margin: 6px 0; }
.nb-freq i { display: block; height: 100%; background: linear-gradient(90deg, #4a86ff, #2f6fed); }

.nb-meaning { font-size: 13px; color: #4a5568; margin-bottom: 6px; }
.nb-ops { display: flex; gap: 8px; }

@media (max-width: 640px) {
  .nb-bar-row { grid-template-columns: 96px 1fr 78px; font-size: 12px; }
}
