/* Trích dẫn tài liệu (/cong-cu/trich-dan). Tệp nạp ở mọi trang → mọi lớp có tiền tố tdn-. */
.chinh:has(> .tdn) { max-width: 1280px; }
.tdn-an { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tdn-dau { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.tdn-dau h1 { margin: 0; }
.tdn-dau .phu { margin: 2px 0 0; }
.tdn-dau__phai { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.tdn-chon { min-width: 240px; }
.tdn-khung { display: grid; gap: 14px; align-items: start; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1040px) { .tdn-khung { grid-template-columns: minmax(360px, 460px) minmax(0, 1fr); } .tdn-nhap { position: sticky; top: 72px; max-height: calc(100vh - 88px); overflow: auto; } }
.tdn-2 { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-items: start; }
.tdn-3 { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tdn-2[hidden], .tdn-3[hidden], .tdn-nhap [data-cho][hidden] { display: none; }
.tdn-vi { align-self: end; }
.tdn-vi .field__hint { margin: 0; }
.tdn-xem-truoc { margin: 0; padding: 10px 12px; background: var(--c-nhat); border-radius: var(--r-nho); line-height: 1.6; overflow-wrap: anywhere; }
.tdn-xem-truoc:empty { display: none; }
.tdn-nhan-xt { font-weight: 700; color: var(--c-dam); }
.tdn-bib { margin-top: 16px; border-top: 1px solid var(--vien); padding-top: 12px; }
.tdn-bib > summary { cursor: pointer; font-weight: 700; color: var(--c-dam); margin-bottom: 8px; }
.tdn-bib .hang-nut { margin-top: 10px; }

.tdn-ket__dau { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.tdn-ket__dau h2 { margin: 0; }
.tdn-kieu { display: inline-flex; border: 1px solid var(--c-vien); border-radius: 999px; overflow: hidden; }
.tdn-kieu label { position: relative; cursor: pointer; }
.tdn-kieu input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.tdn-kieu span { display: block; padding: 9px 16px; font-weight: 700; font-size: .9375rem; color: var(--c-dam); min-height: 42px; line-height: 24px; }
.tdn-kieu input:checked + span { background: var(--c-dam); color: #fff; }
.tdn-kieu input:focus-visible + span { outline: 3px solid var(--nhan); outline-offset: -3px; }
.tdn-tuy { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 6px; }
.tdn-tuy[hidden] { display: none; }
.tdn-o { display: inline-flex; gap: 8px; align-items: center; font-size: .9375rem; min-height: 36px; cursor: pointer; }
.tdn-o input { width: 18px; height: 18px; accent-color: var(--c); }
.tdn-nhom { font-size: 1rem; margin: 14px 0 6px; color: var(--c-dam); }
.tdn-ol { list-style: none; margin: 0; padding: 0; }
.tdn-muc { border-bottom: 1px solid var(--vien); padding: 10px 0; }
.tdn-muc:last-child { border-bottom: 0; }
.tdn-muc__chu { padding-left: 2em; text-indent: -2em; line-height: 1.6; overflow-wrap: anywhere; font-family: "Times New Roman", Times, serif; font-size: 1.0625rem; }
.tdn-ol--ieee .tdn-muc { cursor: grab; }
.tdn-ol--ieee .tdn-muc__chu { padding-left: 2.6em; text-indent: -2.6em; }
.tdn-so { display: inline-block; min-width: 2.6em; text-indent: 0; font-weight: 700; }
.tdn-muc__phu { display: flex; flex-wrap: wrap; gap: 6px 12px; justify-content: space-between; align-items: center; margin-top: 6px; }
.tdn-muc__nut { display: flex; flex-wrap: wrap; gap: 6px; }
.tdn-xuat { margin-top: 14px; border-top: 1px solid var(--vien); padding-top: 14px; }
.tdn-bao:empty { display: none; }
.tdn-bao { margin-top: 10px; }
.sortable-ghost.tdn-muc { background: var(--nhan-nhat); }
@media (max-width: 640px) {
  .tdn-3 { grid-template-columns: 1fr 1fr; }
  .tdn-dau__phai { width: 100%; }
  .tdn-chon { min-width: 0; flex: 1 1 100%; }
  .tdn-kieu { width: 100%; }
  .tdn-kieu label { flex: 1; text-align: center; }
  .tdn-muc__chu { font-size: 1rem; }
}
