/* ═══════════════════ ฟอนต์ IBM Plex Sans Thai — เสิร์ฟจากเว็บเราเอง (มติ 229 · เจ้าของเลือก 25 ก.ย. 2569) ═══════════════════

   ⚠⚠ ที่มา: `tokens.css` ประกาศ `--font: 'IBM Plex Sans Thai', Tahoma, …` แต่เว็บไม่เคยมี @font-face
      ฟอนต์ขึ้นเฉพาะเครื่องที่ลงไว้เอง (เครื่องเจ้าของ) · ลูกค้าส่วนใหญ่เห็น Tahoma
   ✅ ไฟล์อยู่ที่ `public/ui/fonts/` ไม่โหลดจาก Google — ไม่ส่งข้อมูลผู้เข้าชมไปที่อื่น และไม่ช้าตามเว็บอื่น
   ⚠ ชื่อ family ต้องตรงกับ `tokens.css` ตัวอักษรต่อตัวอักษร ไม่งั้นกฎนี้ไม่มีผลเลยและไม่มีอะไรฟ้อง
   ⚠ ห้ามแก้ `tokens.css` (ของคนออกแบบ) — ไฟล์นี้แค่บอกเบราว์เซอร์ว่าไฟล์ฟอนต์อยู่ไหน
   ⚠ น้ำหนัก 300–700 เท่านั้น (ฟอนต์นี้ไม่มี 800 · 650/800 เบราว์เซอร์ปัดไป 700 เอง)
   ⚠ สองช่วงอักษร: ไทย กับ ละติน — เบราว์เซอร์โหลดเฉพาะไฟล์ที่หน้านั้นใช้จริง
   ⚠ `font-display: swap` = ระหว่างโหลดขึ้นฟอนต์สำรองก่อน ตัวหนังสือไม่หายไปว่างๆ
   ที่มาไฟล์: @fontsource/ibm-plex-sans-thai 5.3.0 · สัญญาอนุญาต SIL OFL 1.1 (`fonts/OFL.txt`) */

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-thai-300-normal.woff2) format('woff2');
  unicode-range: U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-latin-300-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-thai-400-normal.woff2) format('woff2');
  unicode-range: U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-thai-500-normal.woff2) format('woff2');
  unicode-range: U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-thai-600-normal.woff2) format('woff2');
  unicode-range: U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-thai-700-normal.woff2) format('woff2');
  unicode-range: U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;
}

@font-face {
  font-family: 'IBM Plex Sans Thai';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/ibm-plex-sans-thai-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
