/* IBM Plex Sans Thai Looped (SIL OFL 1.1), self-hosted. Looped Thai glyphs read easier in long text. */
@font-face { font-family:"Plex Thai Looped"; font-style:normal; font-weight:400; font-display:swap;
  src:url(/fonts/ibm-plex-sans-thai-looped-thai-400-normal.woff2) format("woff2");
  unicode-range:U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family:"Plex Thai Looped"; font-style:normal; font-weight:600; font-display:swap;
  src:url(/fonts/ibm-plex-sans-thai-looped-thai-600-normal.woff2) format("woff2");
  unicode-range:U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family:"Plex Thai Looped"; font-style:normal; font-weight:400; font-display:swap;
  src:url(/fonts/ibm-plex-sans-thai-looped-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+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:"Plex Thai Looped"; font-style:normal; font-weight:600; font-display:swap;
  src:url(/fonts/ibm-plex-sans-thai-looped-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+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root { --fg:#1e293b; --muted:#64748b; --line:#e2e8f0; --brand:#0367D3; --bg:#f4f6f9; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--fg);
  font-family:"Plex Thai Looped","Noto Sans Thai Looped","Noto Sans Thai",Tahoma,system-ui,sans-serif;
  font-size:17px; line-height:1.85; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
main { max-width:680px; margin:0 auto; padding:24px 16px 56px; }
header { margin-bottom:16px; }
.brand { margin:0; color:var(--brand); font-weight:600; letter-spacing:.14em; font-size:.85rem; }
h1 { margin:.15em 0 .1em; font-size:1.55rem; line-height:1.4; font-weight:600; }
.updated { margin:0 0 .8em; color:var(--muted); font-size:.875rem; }
section { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin:14px 0;
  box-shadow:0 1px 2px rgba(15,23,42,.04); }
h2 { margin:0 0 .55em; font-size:1.12rem; line-height:1.5; font-weight:600; }
p { margin:.5em 0; }
b { font-weight:600; }
ul, ol { margin:.35em 0; padding-left:1.35em; }
li { margin:.4em 0; padding-left:.15em; }
ul.plain { list-style:none; padding-left:0; }
.warn { border-color:#fecaca; background:#fff8f8; }
.notice { border:2px solid #f59e0b; background:#fffaf0; }
.notice h2 { color:#b45309; }
.see { color:var(--muted); font-size:.94rem; }
a { color:var(--brand); }
.accept { border-color:#bfdbfe; background:#f0f7ff; }
.kw { background:var(--brand); color:#fff; padding:1px 9px; border-radius:6px; font-weight:600; }
footer { text-align:center; color:var(--muted); font-size:.85rem; margin-top:28px; }
@media (max-width:380px) { body { font-size:16px; } section { padding:14px 15px; } }
