/* knowledge.css — 企業智庫工作區(知識庫 / 問答 / 教育訓練三頁)。 */

/* ---------- 主視覺:這個工作區自己的那張(玻璃書頁 + 熔金光帶),不沿用生圖那張 ---------- */
.ws-modebar::before { background-image: url("../img/card-thinktank.jpg"); }
.grid__empty::before { background-image: url("../img/card-thinktank.jpg"); background-position: center; }

.kbs { display: flex; flex-direction: column; gap: 14px; width: 100%; }
.kb { border: 1px solid var(--line); border-radius: 10px; background: var(--surface); padding: 14px 16px; }
.kb__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kb__name { margin: 0; font-size: var(--fs-lg); }
.kb__acts { display: inline-flex; gap: 6px; flex: none; }
.kb__upload { position: relative; }
.kb__stats { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 10px 0 0; }
.kb__stats div { display: flex; gap: 6px; align-items: baseline; }
.kb__stats dt { color: var(--text-dim); font-size: var(--fs-xs); }
.kb__stats dd { margin: 0; font-family: var(--font-mono); font-size: var(--fs-md); }
.kb__bad { color: var(--warm-ink); font-weight: 700; }
.kb__note { margin: 8px 0 0; color: var(--text-dim); font-size: var(--fs-sm); min-height: 1.4em; }
.kb__files { margin-top: 8px; }
.kb__files summary { cursor: pointer; color: var(--text-mid); font-size: var(--fs-sm); }
.kb__table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: var(--fs-sm); }
.kb__table th, .kb__table td { text-align: left; padding: 5px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.kb__table th { color: var(--text-dim); font-weight: 500; font-size: var(--fs-xs); }
.kb__row--error td { color: var(--warm-ink); }
.kb__empty { color: var(--text-dim); font-size: var(--fs-sm); }

/* ---------- 問答 ---------- */
.chat { display: flex; flex-direction: column; gap: 14px; width: 100%; }
.msg { max-width: 100%; padding: 12px 14px; border-radius: 12px; line-height: 1.7; }
.msg--user { align-self: flex-end; background: var(--surface-soft); border: 1px solid var(--line); }
.msg--bot { align-self: stretch; background: var(--surface); border: 1px solid var(--line); }
.msg__sent--loose { color: var(--text-dim); }                       /* 沒有文件依據的句子 */
.msg__sent--loose::after { content: "(這句沒有文件依據)"; font-size: var(--fs-2xs); margin-left: 4px; }
.msg__ref { font-family: var(--font-mono); font-size: var(--fs-2xs); color: var(--warm-ink); }
.msg__sources { margin: 10px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.src { border-left: 3px solid var(--brand-cool); padding: 4px 10px; font-size: var(--fs-sm); }
.src summary { cursor: pointer; }
.src__where { color: var(--text-dim); font-family: var(--font-mono); font-size: var(--fs-2xs); }
.src__text { white-space: pre-wrap; margin: 6px 0 0; color: var(--text-mid); }
.msg__meta { margin: 8px 0 0; color: var(--text-dim); font-size: var(--fs-2xs); }
.kbpick { display: flex; flex-direction: column; gap: 6px; }
.kbpick label { display: flex; gap: 8px; align-items: center; font-size: var(--fs-md); }

/* ---------- 教育訓練 ---------- */
.courses { margin-top: 18px; }
.courses__title { margin: 0 0 8px; font-size: var(--fs-sm); color: var(--text-dim); font-weight: 500; }
.courseitem { display: flex; align-items: stretch; gap: 6px; margin-bottom: 6px; }
.courseitem__open { flex: 1; text-align: left; display: flex; flex-direction: column; gap: 2px; padding: 8px 10px;
  border: 1px solid var(--line); border-radius: 8px; background: var(--surface); cursor: pointer; color: var(--text); font: inherit; }
.courseitem__open small { color: var(--text-dim); font-size: var(--fs-2xs); }
.courseitem__del { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text-dim); cursor: pointer; padding: 0 10px; }
.course { width: 100%; }
.coursehead { margin-bottom: 18px; }
.coursehead__title { margin: 0; font-size: var(--fs-xl); }
.coursehead__meta { margin: 4px 0 8px; color: var(--text-dim); font-size: var(--fs-sm); }
.coursehead__toc { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--fs-sm); }
.lesson { border-top: 1px solid var(--line); padding: 16px 0; }
.lesson__title { margin: 0 0 8px; font-size: var(--fs-lg); }
.lesson__body { line-height: 1.8; white-space: pre-wrap; }
.lesson__points { padding-left: 1.2em; line-height: 1.7; }
.lesson__sources { color: var(--text-dim); font-size: var(--fs-2xs); font-family: var(--font-mono); }
.lesson__error { color: var(--warm-ink); }
.lesson__qs { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; gap: 4px; }
.lesson__q { display: flex; justify-content: space-between; gap: 10px; font-size: var(--fs-sm); color: var(--text-mid); }
.lesson__qacts { display: inline-flex; gap: 4px; flex: none; }
.btn--xs { font-size: var(--fs-xs); padding: 3px 8px; }
.course__quiz { margin-top: 18px; }
.quiz { border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: var(--surface); }
.quiz__progress { margin: 0 0 6px; color: var(--text-dim); font-size: var(--fs-xs); font-family: var(--font-mono); }
.quiz__stem { margin: 0 0 10px; font-size: var(--fs-lg); line-height: 1.6; }
.quiz__options { display: flex; flex-direction: column; gap: 8px; }
.quiz__opt { display: flex; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.quiz__nav { display: flex; justify-content: space-between; margin-top: 14px; }
.quiz__hint { color: var(--warm-ink); font-size: var(--fs-sm); min-height: 1.4em; margin: 8px 0 0; }
.quiz__score { font-size: 40px; font-family: var(--font-mono); margin: 0 0 12px; }
.quiz__review { padding-left: 1.4em; display: flex; flex-direction: column; gap: 14px; }
.quiz__item--ok { border-left: 3px solid var(--brand-cool); padding-left: 10px; }
.quiz__item--bad { border-left: 3px solid var(--warm-ink); padding-left: 10px; }
.quiz__explain { color: var(--text-mid); font-size: var(--fs-sm); }
