import type { Config } from "tailwindcss"; const config: Config = { content: ["./app/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}"], theme: { extend: { colors: { // สีหลักของระบบ (accent ทุกจุด: ปุ่ม active/action, กรอบ selection, หัวข้อหลัก) // ห้ามเปลี่ยนโดยไม่เช็ค contrast บนขาว/canvas ≥3:1 — เป็นสี focus outline ทึบ // ของ Genesis (.focus-ring ใน globals.css; #0033A1 ปัจจุบัน ≈10.6:1) primary: "rgb(0 51 161 / )", // Genesis (docs/DESIGN.md 2026-09-23): palette ส่วนที่เหลือของ design system — // naming หลีก "primary/secondary" ของข้อความเพื่อไม่ชนกับ primary น้ำเงินด้านบน "primary-hover": "#002780", success: "#10B981", warning: "#F59E0B", error: "#EF4444", // ระดับข้อความ/ไอคอนสถานะบนพื้นขาว (UX review 2026-09-23): ตัว 500 บนขาวได้แค่ // 2.2–3.8:1 ไม่ผ่าน WCAG 4.5:1 ของตัวอักษร — ข้อความ/ไอคอนสถานะใช้ค่า -ink // (ผ่าน 5:1 ขึ้นไปทั้งชุด) ส่วน 500 คงไว้สำหรับ border/bg tint (เช่น bg-warning/15) "success-ink": "#047857", "warning-ink": "#B45309", "error-ink": "#B91C1C", canvas: "#FAFAFA", line: "#E8E8EC", ink: "#0A0A0A", "ink-soft": "#6B6B6B", "ink-faint": "#9C9C9C", }, fontFamily: { // Genesis: display = General Sans, body = DM Sans — ทั้งคู่ Latin เท่านั้น // ใส่ Sarabun ต่อท้ายเป็น fallback ไทย (glyph ไทยตกไป Sarabun อัตโนมัติ) display: [ "var(--font-general-sans)", "var(--font-sarabun)", "-apple-system", "Segoe UI", "Leelawadee UI", "Thonburi", "Noto Sans Thai", "sans-serif", ], body: [ "var(--font-dm-sans)", "var(--font-sarabun)", "-apple-system", "Segoe UI", "Leelawadee UI", "Thonburi", "Noto Sans Thai", "sans-serif", ], }, fontSize: { // Genesis type scale: Display 72 / Headline 60 / Section 32 / Subhead 24 / // Body 15 / Small 13 / Caption 12 / Overline 11 — heading ผูก bold + tracking // แน่นตาม spec (-0.03em ถึง -0.04em) ให้ไทย (Sarabun) ได้ weight 700 ตาม display: ["4.5rem", { lineHeight: "1.02", letterSpacing: "-0.04em", fontWeight: "700" }], headline: ["3.75rem", { lineHeight: "1.05", letterSpacing: "-0.04em", fontWeight: "700" }], "section-title": ["2rem", { lineHeight: "1.2", letterSpacing: "-0.03em", fontWeight: "700" }], subhead: ["1.5rem", { lineHeight: "1.3", letterSpacing: "-0.02em", fontWeight: "700" }], body: ["0.9375rem", { lineHeight: "1.65" }], small: ["0.8125rem", { lineHeight: "1.55" }], caption: ["0.75rem", { lineHeight: "1.5" }], overline: ["0.6875rem", { lineHeight: "1.4", letterSpacing: "0.08em", fontWeight: "500" }], }, boxShadow: { // Genesis elevation: card ได้เงาเฉพาะตอน hover (static ไม่มีเงา) + // ปุ่ม primary ได้ glow ฟ้าตอน hover / dropdown ใช้ shadow-lg ของ default "card-hover": "0 8px 30px rgba(0,0,0,0.08)", "btn-glow": "0 4px 12px rgba(0,51,161,0.35)", }, }, }, plugins: [], }; export default config;