/* ═════════════════════════════════════════════════════════════════════════════
   tb1.ac.th — ตั้งขนาดการแสดงผลทั้งเว็บที่ไฟล์นี้ไฟล์เดียว (ปรับปรุง 4 ต.ค. 2569)
   ═════════════════════════════════════════════════════════════════════════════

   --tb1-ui-scale คือตัวคูณขนาดของทั้งเว็บ แก้ตัวเลขบรรทัดเดียวข้างล่างแล้วอัปโหลดไฟล์นี้ไฟล์เดียว
     1      = ขนาดเดิม (ไม่ย่อ)
     0.95   = เล็กลง 5%
     0.9    = เล็กลง 10% (ค่าปัจจุบัน)
     1.05   = ใหญ่ขึ้น 5%
   แนะนำให้อยู่ระหว่าง 0.85 ถึง 1.1 เล็กกว่านี้ตัวอักษรบนมือถืออ่านยาก
   บนมือถือ ค่า 0.9 ทำให้ปุ่มและลิงก์ในเมนูสูงราว 40 px (แนวทางของ Apple แนะนำ 44 px ขึ้นไป)
   ถ้าอยากให้มือถือคงขนาดเดิม ตั้ง --tb1-ui-scale-phone เป็น 1

   ย่อหรือขยาย "ทุกอย่าง" ในอัตราส่วนเดียวกัน เหมือนกดย่อหน้าเว็บในเบราว์เซอร์ (CSS zoom)
     ตัวอักษร ระยะห่าง (padding margin) ความกว้าง ความสูง ตาราง รูปภาพ เส้นขอบ ไอคอน ปุ่ม แผนที่ กราฟ
     ทั้งที่ตั้งเป็น rem และ px ทั้งหน้าที่ออกแบบใหม่และหน้ารุ่นเก่า ที่ใช้แถบเมนูกลางของเว็บ
     ปุ่ม ก ก ก (เล็ก ปกติ ใหญ่) ของผู้ชมยังทำงานเหมือนเดิม และคูณกับค่านี้อีกชั้น
   ไม่มีผลกับ
     ฉบับพิมพ์ (กระดาษยังเป็นขนาดเดิม) และระบบที่มีหน้าตาของตัวเองที่ไม่ได้ใช้แถบเมนูกลาง
     จุดที่หน้าเปลี่ยนเป็นแบบมือถือยังอยู่ที่ความกว้างจอจริงเท่าเดิม

   เบราว์เซอร์: Chrome Edge Safari และ Firefox 126 ขึ้นไป รุ่นที่ไม่รู้จัก zoom แสดงขนาดเดิม ไม่พัง
   ถ้าโหลดไฟล์นี้ไม่ได้ เว็บแสดงขนาดเดิม (เท่ากับค่า 1)

   โหลดโดย includes/tb1_theme.php (คู่กับ fonts/tb1-fonts.css) ไม่มี ?v=
   fonts/.htaccess ให้เบราว์เซอร์ตรวจไฟล์ใหม่ทุกครั้ง แก้แล้วผู้เข้าชมเห็นผลในการเปิดหน้าครั้งถัดไป
   ยกเว้น (แสดงขนาดเดิม): หน้าที่มีตัวแก้ไขเนื้อหา CKEditor และตัวดูภาพเต็มจอของหน้าอ่านข่าว (ดูกลไกข้างล่าง)
   สคริปต์ที่วางกล่องลอยตามตำแหน่ง (ป๊อปอัปปฏิทินหน้าแรก กล่องข้อความบนกราฟ ตัวเลือกวันที่ไทย)
   วัดค่า zoom เองแล้ว กราฟ Chart.js แก้ด้วย js/tb1-zoom.js */

:root {
    --tb1-ui-scale: 1;
    /* มือถือ (จอแคบกว่า 641 px) ใช้ค่าเดียวกันโดยตั้งต้น ถ้าอยากให้มือถือใหญ่กว่าคอมพิวเตอร์ ใส่ตัวเลขแทน var(...) เช่น 1 */
    --tb1-ui-scale-phone: var(--tb1-ui-scale);
}

/* ── กลไก (ไม่ต้องแก้) ─────────────────────────────────────────────────────── */
@media screen {
    html {
        zoom: var(--tb1-ui-scale);
    }

    /* หน้าที่โหลดตัวแก้ไขเนื้อหา CKEditor (เพิ่ม/แก้ข่าว เพิ่ม/แก้รายวิชา): ไม่ย่อ
       CKEditor วางกล่องลอย (ลิงก์ รูป ตาราง) ผิดตำแหน่งเมื่อหน้าถูกย่อด้วย zoom
       หน้าที่โหลดสคริปต์ CKEditor ท้ายหน้าใส่ class="tb1-no-zoom" ที่ body ไว้ด้วย (ไม่กระพริบตอนโหลด) */
    html:has(script[src*="ckeditor"]),
    html:has(> body.tb1-no-zoom) {
        zoom: 1;
    }

    /* ตัวดูภาพเต็มจอของหน้าอ่านข่าว (read_news.php): ไม่ย่อ ให้เต็มจอจริงเหมือนเดิม */
    .nr-viewer {
        zoom: calc(1 / var(--tb1-ui-scale));
    }
}

@media screen and (max-width: 640px) {
    html {
        zoom: var(--tb1-ui-scale-phone);
    }

    html:has(script[src*="ckeditor"]),
    html:has(> body.tb1-no-zoom) {
        zoom: 1;
    }

    .nr-viewer {
        zoom: calc(1 / var(--tb1-ui-scale-phone));
    }
}
