/* Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V5
 * Hallmark · macrostructure: Workbench · knobs: frames=hairline figure, annotations=numbered pins + legend, sticky CTA after step 3
 * genre: modern-minimal, dark-first "Cinema" (2026-10-22) · theme: custom (brand tile #0B0F12, logo sea-green #2FD6C2, VFD display)
 * nav: N5 floating pill (width ~720px, blur+saturate, top-centred) · footer: Ft5 Statement (closing line "Links in. Files out." at --text-closing, hairline, wordmark+© | links | signature)
 * type: Unbounded 500 (display, Latin/Cyrillic/Vietnamese) + Anuphan (body; display for Thai) + Doto (VFD figures)
 * contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48)
 * responsive: pass (49) · mobile: pass (34, 49, 50–57) · icons: pass (30)
 */

@font-face{font-family:"Anuphan";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/anuphan-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:"Anuphan";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/anuphan-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:"Anuphan";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/anuphan-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:"Anuphan";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/anuphan-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:"Anuphan";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/anuphan-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:"Anuphan";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/anuphan-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:"Anuphan";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/anuphan-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}
@font-face{font-family:"Anuphan";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/anuphan-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:"Doto";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/doto-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Doto";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/doto-latin-800-normal.woff2) format("woff2")}
/* หัวข้อ: Unbounded (OFL 1.1) ละติน ซีริลลิก เวียดนาม / ภาษาอื่นตกไปใช้ Anuphan ตาม --font-display */
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/unbounded-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/unbounded-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/unbounded-vietnamese-500-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/unbounded-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/unbounded-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:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/unbounded-cyrillic-ext-700-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/unbounded-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/unbounded-vietnamese-700-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/unbounded-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/unbounded-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}

:root{
  /* โทนมืดอย่างเดียว (ทาง Cinema 22 ต.ค. 2026): พื้นสีเดียวกับไอคอนแบรนด์ สีหลักเขียวน้ำทะเลของโลโก้ */
  --color-bg:#0B0F12;
  --color-panel:#12181C;
  --color-field:#0E1316;
  --color-sunken:#182025;
  --color-ink:#EEF2F4;
  --color-ink-2:#B4BDC4;
  --color-muted:#8C969E;
  --color-line:#243038;
  --color-line-soft:#1A2329;
  --color-accent:#2FD6C2;
  --color-accent-ink:#04201C;
  --color-accent-soft:rgba(47,214,194,.12);
  --color-accent-line:rgba(47,214,194,.45);
  --color-primary:#EEF2F4;
  --color-primary-ink:#0B0F12;
  --color-primary-hover:#FFFFFF;
  --color-ok:#57C487;
  --color-bad:#F2725F;
  --color-bad-soft:rgba(242,114,95,.13);
  --color-focus:#2FD6C2;
  --color-pin:#EEF2F4;
  --color-pin-ink:#0B0F12;
  --color-nav:rgba(18,24,28,.72);
  --color-nav-edge:rgba(255,255,255,.08);
  --color-scrim-light:rgba(18,24,28,.85);
  --shadow-card:0 1px 0 rgba(0,0,0,.35),0 14px 36px -22px rgba(0,0,0,.7);
  --shadow-nav:0 1px 0 rgba(0,0,0,.4),0 16px 36px -20px rgba(0,0,0,.75);
  --shadow-shot:0 1px 0 rgba(0,0,0,.4),0 40px 80px -40px rgba(0,0,0,.9);

  /* จอ VFD สีเขียวน้ำทะเลแบบเดียวกับจอโหลดในแอป */
  --color-display:#0A1012;
  --color-display-2:#132226;
  --color-display-edge:#1D292C;
  --color-vfd:#7FF3E7;
  --color-vfd-text:#D2FCF7;
  --color-vfd-muted:rgba(210,252,247,.62);
  --color-vfd-off:rgba(127,243,231,.14);
  --color-vfd-bad:#FF8B7B;

  --font-display:"Unbounded","Anuphan","Segoe UI",system-ui,sans-serif;
  --weight-display:500;   /* Unbounded กว้างและหนาอยู่แล้ว 500 ก็เด่นพอ ภาษาที่ใช้ฟอนต์อื่นกลับไปใช้ 700 (site.css) */
  --font-body:"Anuphan","Segoe UI",system-ui,sans-serif;
  --font-outlier:"Doto","Cascadia Mono",ui-monospace,monospace;

  --text-xs:.8125rem;
  --text-sm:.9375rem;
  --text-md:1.0625rem;
  --text-lg:1.25rem;
  --text-xl:clamp(1.35rem,1.1rem + 1vw,1.75rem);
  --text-2xl:clamp(1.45rem,.9rem + 3.2vw,2.85rem);
  --text-figure:clamp(3rem,2.2rem + 3vw,4.5rem);
  --text-closing:clamp(2.1rem,1.2rem + 4vw,4.25rem);   /* ประโยคปิดท้ายเว็บ (Ft5) */

  --space-3xs:4px;
  --space-2xs:8px;
  --space-xs:12px;
  --space-sm:16px;
  --space-md:24px;
  --space-lg:32px;
  --space-xl:48px;
  --space-2xl:64px;
  --space-3xl:96px;
  --space-4xl:128px;

  --radius-sm:10px;
  --radius-md:13px;
  --radius-lg:18px;
  --radius-pill:999px;

  --control-h:44px;
  --page-max:1180px;
  --measure:62ch;
  --nav-h:56px;
  --nav-top:16px;

  --dur-fast:180ms;
  --dur-mid:320ms;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);

  --z-sticky:200;
  --z-sticky-nav:300;
  color-scheme:dark;
}

