/* KÍNH. — Design tokens (CSS custom properties). Nguồn duy nhất cho màu, chữ, khoảng cách, bo góc, chuyển động. */
:root{
  /* Màu */
  --kn-white:#FAFBFC;          /* nền trắng tinh */
  --kn-white-2:#F1F4F6;        /* nền xen kẽ */
  --kn-alu:#9AA3AD;            /* xám nhôm: đường nét, trang trí (không dùng cho chữ nhỏ) */
  --kn-ink:#15181C;            /* đen anod: chữ, khung */
  --kn-ink-2:#4F5862;          /* chữ phụ (AA trên nền trắng) */
  --kn-glass:#CFE6EA;          /* xanh kính */
  --kn-glass-2:#E6F2F4;
  --kn-copper:#B07A3A;         /* đồng: điểm nhấn ấm duy nhất */
  --kn-copper-d:#8E5F28;       /* đồng đậm cho chữ/viền (AA) */
  --kn-line:#DDE3E8;           /* xám nét */
  --kn-ok:#2F7D4F;
  --kn-err:#B3261E;

  /* Chữ */
  --kn-font-head:"Inter Tight","Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --kn-font-body:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --kn-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --kn-fs-0:.78rem;--kn-fs-1:.88rem;--kn-fs-2:1rem;--kn-fs-3:1.125rem;--kn-fs-4:1.35rem;
  --kn-fs-5:clamp(1.6rem,3.2vw,2.4rem);--kn-fs-6:clamp(2.1rem,5vw,3.9rem);
  --kn-lh:1.65;--kn-track:.14em;

  /* Khoảng cách */
  --kn-s-1:4px;--kn-s-2:8px;--kn-s-3:12px;--kn-s-4:16px;--kn-s-5:24px;--kn-s-6:32px;--kn-s-7:48px;--kn-s-8:64px;--kn-s-9:96px;
  --kn-wrap:1280px;--kn-hd:68px;--kn-gutter:16px;

  /* Bo góc & bóng: 4px, không bóng */
  --kn-r:4px;--kn-shadow:none;

  /* Nét */
  --kn-stroke:1.5px;

  /* Chuyển động */
  --kn-ease:cubic-bezier(.22,.61,.36,1);--kn-fast:.18s;--kn-med:.32s;--kn-slow:.9s;
}
@media(min-width:900px){:root{--kn-gutter:32px;--kn-hd:76px}}
@media(prefers-reduced-motion:reduce){:root{--kn-fast:0s;--kn-med:0s;--kn-slow:0s}}
