/* Họ Dương Duy An Vinh — tokens & khung site. Xem BRIEF.md mục 2. */

:root {
  /* nền */
  --nen:          #F6FAE9;
  --nen-chim:     #EFEBD8;
  --nen-canvas:   #DCD8CC;

  /* mực */
  --muc:          #3B0D04;
  --muc-nhat:     #6B5B45;
  --nau-do:       #8A1207;
  --nau-dam:      #5E1607;

  /* nhấn */
  --vang:         #F5CE0F;
  --vang-tram:    #C8A21A;
  --do:           #C00015;

  /* đường kẻ */
  --ke:           #E0D9C4;
  --ke-nhat:      #EAE3CE;

  /* thang cỡ chữ */
  --fs-88: 88px; --fs-56: 56px; --fs-46: 46px; --fs-44: 44px;
  --fs-30: 30px; --fs-28: 28px; --fs-25: 25px; --fs-24: 24px; --fs-23: 23px;
  --fs-22: 22px; --fs-21: 21px; --fs-20: 20px; --fs-19: 19px; --fs-18: 18px;
  --fs-17: 17px; --fs-16: 16px; --fs-14: 14px; --fs-13: 13px; --fs-12: 12px;

  /* bề rộng nội dung */
  --rong-hep: 640px;
  --rong-vua: 720px;
  --rong-rong: 820px;

  /* vùng bấm tối thiểu */
  --bam: 44px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--nen-canvas);
  color: var(--muc);
  font-family: 'Noto Serif', serif;
  font-weight: 600;
  font-size: var(--fs-17);
  line-height: 1.5;
  letter-spacing: .02em;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { line-height: 1.2; letter-spacing: .02em; margin: 0; }

a { color: var(--nau-do); }
a:not(.khong-gach) { text-decoration-thickness: 1px; }

button { font-family: inherit; }

/* không dùng border-radius ở bất kỳ đâu — quyết định thiết kế */
* { border-radius: 0 !important; }

.chi-doc-man-hinh {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.lien-ket-bo-qua {
  position: absolute; top: -100px; left: 8px; z-index: 100;
  background: var(--vang); color: var(--muc); padding: 10px 16px;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-weight: 700; font-size: var(--fs-17); letter-spacing: .04em;
  transition: top .15s ease;
}
.lien-ket-bo-qua:focus { top: 8px; }

:focus-visible {
  outline: 3px solid var(--do);
  outline-offset: 2px;
}

/* ===== khung trang ===== */

.khung {
  max-width: var(--rong-vua);
  margin: 0 auto;
  background: var(--nen);
  min-height: 100vh;
}

/* ===== header + menu ===== */

.dau-trang {
  position: sticky; top: 0; z-index: 20;
  background: var(--nau-dam); color: var(--nen);
}

.thanh-dau {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px;
}

.trien {
  width: 34px; height: 34px; flex: 0 0 34px;
  background: var(--do); color: var(--vang);
  font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: var(--fs-21);
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--vang);
}

.ten-hieu {
  font-size: var(--fs-14); letter-spacing: .16em;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-weight: 700;
  flex: 1 1 auto;
}

.nut-menu {
  flex: 0 0 auto;
  width: var(--bam); height: var(--bam);
  background: transparent; border: 2px solid var(--nen);
  color: var(--nen); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.nut-menu:hover { background: var(--do); border-color: var(--do); }

.nut-menu svg { width: 20px; height: 20px; }

.menu {
  display: none;
  background: var(--nau-dam);
  border-top: 1px solid rgba(246,250,233,.2);
}
.menu.mo { display: block; }

.menu ul { list-style: none; margin: 0; padding: 8px 6px 14px; }

.menu a {
  display: block;
  min-height: var(--bam);
  display: flex; align-items: center;
  padding: 10px 12px;
  color: var(--nen);
  text-decoration: none;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-weight: 600; font-size: var(--fs-17);
  letter-spacing: .04em;
  border-left: 4px solid transparent;
}
.menu a:hover { background: rgba(246,250,233,.08); }
.menu a[aria-current="page"] {
  border-left-color: var(--vang);
  color: var(--vang);
  font-weight: 700;
}

@media (min-width: 768px) {
  .nut-menu { display: none; }
  .menu { display: block; background: transparent; border-top: 0; }
  .menu ul { display: flex; flex-wrap: wrap; gap: 2px; padding: 0 14px 12px; }
  .menu a { padding: 8px 10px; border-left: 0; border-bottom: 3px solid transparent; font-size: var(--fs-14); }
  .menu a[aria-current="page"] { border-left-color: transparent; border-bottom-color: var(--vang); }
}

/* ===== cảnh báo dữ liệu cũ ===== */

.canh-bao-cu {
  padding: 12px 16px;
  background: var(--nen-chim);
  border-bottom: 2px solid var(--vang);
  color: var(--muc);
  font-size: var(--fs-17);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  text-align: center;
}

/* ===== nội dung ===== */

main {
  padding: 28px 16px 56px;
}

.khoi-trong { padding: 24px 0; }
.khoi-trong h1 { font-size: var(--fs-30); color: var(--muc); margin-bottom: 10px; }
.khoi-trong .ghi-chu { color: var(--muc-nhat); font-size: var(--fs-17); margin: 0; }

.trang-404 h1 { color: var(--nau-do); }

.ghi-chu.loi { color: var(--do); }

/* ===== trang tĩnh dùng chung ===== */

.trang h1 {
  font-size: var(--fs-30); color: var(--muc);
  margin: 0 0 20px; padding-bottom: 12px;
  border-bottom: 2px solid var(--vang);
}

.bai-doc { max-width: var(--rong-hep); margin: 0 auto; }

/* câu đối */
.cd { text-align: center; padding: 0 0 28px; margin-bottom: 28px; border-bottom: 2px solid var(--vang); }
.cd--duoi { border-bottom: 0; border-top: 2px solid var(--vang); padding: 28px 0 0; margin: 28px 0 0; }
.cd p {
  margin: 0 0 8px; font-size: var(--fs-17); line-height: 1.5;
  letter-spacing: .04em; color: var(--nau-do); font-weight: 700;
}
.cd p:last-child { margin-bottom: 0; }

/* trang chủ */
.trang-chu h1 { font-size: var(--fs-44); border-bottom: 0; padding-bottom: 0; margin: 0 0 6px; }
.trang-chu .phu-de { margin: 0 0 26px; font-size: var(--fs-18); color: var(--muc-nhat); letter-spacing: .02em; }

.so { display: flex; gap: 1px; background: var(--ke); margin: 0 0 28px; }
.so div { flex: 1; background: var(--nen-chim); padding: 14px 8px; text-align: center; }
.so b { display: block; font-size: var(--fs-24); color: var(--nau-do); }
.so span {
  font-size: var(--fs-12); letter-spacing: .14em; color: var(--muc-nhat);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
}

.nhan-muc {
  font-size: var(--fs-13); letter-spacing: .2em; text-transform: uppercase;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-weight: 700; color: var(--muc-nhat);
  margin: 34px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--ke);
}

.gia-tri { border-left: 4px solid var(--do); padding: 8px 0 8px 14px; margin: 0 0 12px; }
.gia-tri b { display: block; font-size: var(--fs-18); letter-spacing: .06em; color: var(--nau-do); }
.gia-tri span { font-size: var(--fs-17); color: var(--muc-nhat); }

/* nội dung Markdown từ cauHinh */
.md { margin: 20px 0; }
.md > *:first-child { margin-top: 0; }
.md h2 {
  font-size: var(--fs-25); color: var(--nau-do);
  border-bottom: 2px solid var(--vang); padding-bottom: 8px;
  margin: 32px 0 14px;
}
.md h3 { font-size: var(--fs-21); color: var(--nau-do); margin: 24px 0 10px; }
.md p { margin: 0 0 14px; }
.md ul, .md ol { margin: 0 0 14px; padding-left: 22px; }
.md li { margin-bottom: 6px; }
.md li > ul, .md li > ol { margin-top: 6px; }
.md strong { font-weight: 700; }
.md blockquote {
  border-left: 4px solid var(--do); margin: 16px 0; padding: 4px 0 4px 14px;
  color: var(--muc-nhat); font-style: normal;
}
.md img { max-width: 100%; height: auto; display: block; margin: 16px 0; }

/* ===== bộ văn hiến ===== */

.vh-hieu { text-align: center; margin: 0 0 30px; }
.vh-logo { width: 96px; height: 96px; object-fit: contain; margin: 0 auto 14px; display: block; background: var(--nen-chim); }
.vh-ten-ho { font-size: var(--fs-24); color: var(--muc); margin: 0; letter-spacing: .02em; }

.vh-khoi { margin: 34px 0 0; }
.vh-anh { width: 100%; height: auto; display: block; background: var(--nen-chim); }

.vh-toc-ca { margin: 0 0 16px; }
.vh-toc-ca:last-child { margin-bottom: 0; }
.vh-toc-ca__ten { margin: 0 0 8px; font-size: var(--fs-17); color: var(--muc); font-weight: 700; }
.vh-toc-ca audio { width: 100%; display: block; }

.vh-lien-ket { display: flex; flex-direction: column; gap: 10px; margin: 34px 0 0; }
.vh-lien-ket__lk {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  min-height: var(--bam); padding: 14px 16px;
  background: var(--nen-chim); border-left: 4px solid var(--do);
  color: var(--nau-do); text-decoration: none;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-weight: 700; font-size: var(--fs-18); letter-spacing: .02em;
}
.vh-lien-ket__lk:hover { background: var(--ke-nhat); }
.vh-lien-ket__lk::after { content: '→'; font-family: 'Noto Serif', serif; font-weight: 700; }

/* ===== danh sách bài viết ===== */

.ds-bai { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ke); }
.the-bai { border-bottom: 1px solid var(--ke); }

.the-bai__lk {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px 4px; text-decoration: none; color: inherit;
  min-height: var(--bam);
}
.the-bai__lk:hover .the-bai__tieu-de { color: var(--do); }

.the-bai__anh {
  width: 84px; height: 84px; flex: 0 0 84px;
  object-fit: cover; background: var(--nen-chim);
}
.the-bai__anh--trong { border: 1px solid var(--ke); }

.the-bai__noi-dung { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

.the-bai__nhan {
  align-self: flex-start;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-size: var(--fs-12); font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--do); border: 1px solid var(--do); padding: 2px 6px;
}

.the-bai__tieu-de { font-size: var(--fs-19); color: var(--muc); font-weight: 700; line-height: 1.3; }

.the-bai__mo-ta {
  font-size: var(--fs-17); color: var(--muc-nhat); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.the-bai__ngay {
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-size: var(--fs-17); color: var(--muc-nhat); letter-spacing: .04em;
}

/* ===== chi tiết bài viết ===== */

.duong-dan-nho {
  margin: 0 0 16px; font-size: var(--fs-17);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-weight: 600; letter-spacing: .02em;
}

.bai-chi-tiet__meta {
  margin: 0 0 18px; color: var(--muc-nhat); font-size: var(--fs-17);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif;
}

.bai-chi-tiet__anh { width: 100%; height: auto; display: block; margin: 0 0 20px; background: var(--nen-chim); }

/* ===== tộc phả ===== */

.tp-tim-khoi { margin: 0 0 14px; position: relative; }

.tp-tim-input {
  width: 100%; height: 48px; padding: 0 14px;
  background: var(--nen); border: 1.5px solid var(--muc); color: var(--muc);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-17);
}
.tp-tim-input::placeholder { color: var(--muc-nhat); }

.tp-tim-ket-qua {
  position: absolute; left: 0; right: 0; z-index: 5;
  list-style: none; margin: 4px 0 0; padding: 0;
  border: 1px solid var(--ke); background: var(--nen);
  max-height: 60vh; overflow-y: auto;
}
.tp-tim-ket-qua li { border-bottom: 1px solid var(--ke-nhat); }
.tp-tim-ket-qua li:last-child { border-bottom: 0; }
.tp-tim-ket-qua a, .tp-tim-ket-qua button {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; min-height: var(--bam); padding: 10px 14px;
  background: transparent; border: 0; color: var(--muc); text-decoration: none;
  font-family: inherit; text-align: left; cursor: pointer;
}
.tp-tim-ket-qua a:hover, .tp-tim-ket-qua button:hover { background: var(--nen-chim); }
.tp-tim-ten { font-size: var(--fs-17); font-weight: 600; }
.tp-tim-doi {
  flex: 0 0 auto;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-14); color: var(--muc-nhat);
}
.tp-tim-rong { padding: 14px; color: var(--muc-nhat); font-size: var(--fs-17); }

.tp-tab-thanh {
  display: flex; gap: 1px; background: var(--ke); border: 1px solid var(--ke);
  margin: 0 0 10px;
}
.tp-tab {
  flex: 1; min-height: 44px; background: var(--nen); color: var(--muc);
  border: 0; font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-17);
  cursor: pointer;
}
.tp-tab[aria-selected="true"] { background: var(--muc); color: var(--vang); font-weight: 700; }

.tp-tab-quanhe {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 44px; margin: 0 0 20px; padding: 6px 10px;
  background: var(--nen); border: 1.5px solid var(--nau-do); color: var(--nau-do);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-17); font-weight: 600;
  cursor: pointer;
}
.tp-tab-quanhe[aria-selected="true"] { background: var(--nau-do); color: var(--nen); }

.tp-duong-ve-to { margin: 0 0 20px; padding-bottom: 16px; border-bottom: 1px solid var(--ke); }
.tp-duong-ve-to__cuon {
  display: flex; align-items: center; gap: 7px; margin-top: 10px;
  overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}
.tp-duong-ve-to__buoc {
  display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto;
  min-height: var(--bam);
  font-size: var(--fs-17); color: var(--muc); text-decoration: none; padding: 4px 8px;
}
.tp-duong-ve-to__buoc:hover { color: var(--do); }
.tp-duong-ve-to__doi {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; flex: 0 0 auto;
  background: var(--nen-chim); color: var(--nau-do);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-14); font-weight: 700;
}
.tp-duong-ve-to__cham { color: var(--muc-nhat); flex: 0 0 auto; }

.tp-cay, .tp-con { list-style: none; margin: 0; padding: 0; }
.tp-con[hidden] { display: none; }

.tp-hang {
  display: flex; align-items: flex-start; gap: 6px;
  padding: 8px 4px; border-bottom: 1px solid var(--ke-nhat);
}
.tp-caret {
  flex: 0 0 auto; width: 44px; height: 44px; margin: -7px 0;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: 0; color: var(--nau-do); font-size: var(--fs-17);
  cursor: pointer;
}
.tp-caret--an { visibility: hidden; cursor: default; }
.tp-noi-dung { flex: 1; min-width: 0; padding-top: 9px; }
.tp-ten-dong { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tp-ten { font-size: var(--fs-18); font-weight: 600; color: var(--muc); text-decoration: none; }
.tp-ten:hover { color: var(--do); }
.tp-doi-nhan {
  flex: 0 0 auto;
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-14); font-weight: 700;
  color: var(--nau-do); background: var(--nen-chim); padding: 2px 6px;
}
.tp-meta { margin-top: 3px; font-size: var(--fs-17); color: var(--muc-nhat); line-height: 1.4; }

.tp-nhan-nhanh-roi { margin-top: 30px; }
.tp-nhanh-roi { display: flex; flex-direction: column; gap: 18px; }

/* ===== hồ sơ một người ===== */
/* Thiếu dữ liệu là mặc định — thẻ phải gọn gàng dù chỉ có tên và hiệu. */

.ho-so-the {
  background: var(--nen); border: 1px solid var(--ke); border-left: 4px solid var(--do);
  padding: 18px 16px;
}

.ho-so-anh {
  width: 100%; max-width: 220px; height: auto; display: block;
  margin: 0 0 16px; background: var(--nen-chim);
}

.ho-so-ten { font-family: 'Noto Serif', serif; font-size: var(--fs-25); color: var(--muc); }
.ho-so-meta { margin-top: 5px; font-size: var(--fs-17); font-weight: 600; color: var(--nau-do); }

.ho-so-dong { margin-top: 10px; font-size: var(--fs-17); color: var(--muc); line-height: 1.55; }
.ho-so-dong--dam { font-weight: 700; }
.ho-so-dong a { font-weight: 600; }
.ho-so-tieu-su { margin: 10px 0 0; font-size: var(--fs-17); color: var(--muc); line-height: 1.6; }

.ho-so-nut-map {
  display: inline-flex; align-items: center; min-height: var(--bam);
  margin-top: 10px; padding: 0 14px;
  border: 1.5px solid var(--nau-do); color: var(--nau-do);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-17); font-weight: 600;
  text-decoration: none;
}
.ho-so-nut-map:hover { background: var(--nen-chim); }

.ho-so-quan-he { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ke-nhat); }

/* Link quan hệ (cha/mẹ/vợ chồng/anh chị em/con) là khối bấm được, không
   phải chữ giữa câu — mỗi link đạt tối thiểu 44×44px. */
.ho-so-quan-he-hang {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin-top: 10px;
}
.ho-so-quan-he-hang:first-child { margin-top: 0; }
.ho-so-quan-he-nhan { flex: 0 0 auto; font-size: var(--fs-17); color: var(--muc-nhat); }
.ho-so-quan-he-lk {
  display: inline-flex; align-items: center; min-height: var(--bam);
  padding: 6px 12px; background: var(--nen-chim); border: 1px solid var(--ke);
  color: var(--muc); font-weight: 600; font-size: var(--fs-17); text-decoration: none;
}
.ho-so-quan-he-lk:hover { border-color: var(--do); color: var(--do); }

.ho-so-album { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ho-so-album img { width: 84px; height: 84px; object-fit: cover; display: block; background: var(--nen-chim); }

/* ===== quanh người ===== */
/* Chữ trong sơ đồ không được nhỏ hơn 15px — thà cuộn dọc (tầng tự xuống
   dòng) còn hơn thu chữ. --fs-16/--fs-17 là hai cỡ nhỏ nhất dùng ở đây. */

.qn { margin: 10px 0 0; }

.qn-tang { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.qn-noi { width: 1px; height: 22px; background: var(--ke); margin: 0 auto; }

.qn-node {
  display: flex; flex-direction: column; justify-content: center;
  width: 150px; min-height: 44px;
  padding: 10px 12px; background: var(--nen); border: 1px solid var(--ke);
  text-decoration: none; color: var(--muc);
}
.qn-node:hover { border-color: var(--do); }
.qn-node--mau { border-top: 3px solid var(--do); }

.qn-node__ten { font-size: var(--fs-17); font-weight: 600; line-height: 1.3; overflow-wrap: break-word; }
.qn-node__nhan { margin-top: 3px; font-size: var(--fs-16); color: var(--muc-nhat); }

.qn-node--trung-tam { background: var(--muc); border-color: var(--muc); }
.qn-node--trung-tam:hover { border-color: var(--vang); }
.qn-node--trung-tam .qn-node__ten { font-family: 'Noto Serif', serif; font-size: var(--fs-19); color: var(--nen); }
.qn-node--trung-tam .qn-node__nhan { color: var(--vang); }

.qn-them-nua { margin-top: 10px; text-align: center; font-size: var(--fs-16); color: var(--muc-nhat); }
.qn-goi-y { margin-top: 18px; text-align: center; font-size: var(--fs-16); color: var(--muc-nhat); }

/* ===== tính quan hệ ===== */

.tqh-gioi-thieu { margin: 0 0 16px; }

.tqh-chon { margin: 0 0 14px; position: relative; }

.tqh-da-chon {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  min-height: 48px; padding: 8px 14px;
  background: var(--nen-chim); border: 1.5px solid var(--muc);
}
.tqh-da-chon__ten { font-size: var(--fs-17); font-weight: 700; color: var(--muc); }
.tqh-da-chon__doi {
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-14); color: var(--muc-nhat);
}
.tqh-doi-lai {
  margin-left: auto; min-height: var(--bam); min-width: 44px; padding: 0 14px;
  background: transparent; border: 1px solid var(--nau-do); color: var(--nau-do);
  font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-size: var(--fs-17); font-weight: 600;
  cursor: pointer;
}
.tqh-doi-lai:hover { background: var(--nen); }

.tqh-ket-qua { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--ke); }
.tqh-ket-qua:empty { margin: 0; padding: 0; border-top: 0; }

.tqh-dong { margin: 0 0 10px; font-size: var(--fs-17); color: var(--muc); line-height: 1.55; }
.tqh-dong a { font-weight: 600; }
.tqh-danh-xung {
  margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--ke-nhat); font-weight: 600;
}

.tqh-duong-noi-khoi { margin: 16px 0; }
.tqh-buoc--to-tien { font-weight: 700; color: var(--nau-do); }
.tqh-buoc--to-tien .tp-duong-ve-to__doi { background: var(--vang); }

/* ===== footer ===== */

footer {
  padding: 20px 16px;
  border-top: 1px solid var(--ke);
  text-align: center;
  font-size: var(--fs-17);
  color: var(--muc-nhat);
}

@media (min-width: 1440px) {
  body { background: var(--nen-canvas); }
  .khung { box-shadow: 0 0 0 1px var(--ke); }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
