/* ============================================================================
   01 — NỀN TẢNG
   Thiết lập lại trình duyệt, và các luật áp cho thẻ trần (không cần lớp).
   ============================================================================ */

*{box-sizing:border-box}
html,body{margin:0;padding:0}

body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  font-size:var(--fs);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}

/* ⚠ Dòng này chống WebKit tự phóng chữ khi xoay ngang trên iPhone. Thiếu nó là
   chữ chồng lên nhau ở màn hẹp, mà không có lỗi nào báo ra. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

code,.mono{font-family:var(--mono)}

/* Số thẳng cột. Gắn cho các ô có khả năng chứa số, không gắn tràn lan. */
td.num,th.num,td.n,th.n,.cellinput,.stat .s .v,td .mno{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

/* ⚠ HAI DÒNG NÀY BẮT BUỘC, không phải dư. Trình duyệt KHÔNG cho ô biểu mẫu kế
   thừa phông và cỡ chữ của trang — nó ép về mặc định (13.33px Arial). Thiếu thì
   mọi nút và ô nhập rơi ra ngoài thang cỡ chữ và không co theo màn. */
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}

h1,h2,h3{margin:0;font-weight:700;letter-spacing:-0.01em}
a{color:var(--accent)}
