@font-face { font-family:"Noto Sans Thai"; font-style:normal; font-display:swap; font-weight:400; src:url("../fonts/noto-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:"Noto Sans Thai"; font-style:normal; font-display:swap; font-weight:400; src:url("../fonts/noto-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:"Noto Sans Thai"; font-style:normal; font-display:swap; font-weight:600; src:url("../fonts/noto-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:"Noto Sans Thai"; font-style:normal; font-display:swap; font-weight:600; src:url("../fonts/noto-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:"Noto Serif Thai"; font-style:normal; font-display:swap; font-weight:600; src:url("../fonts/noto-serif-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:"Noto Serif Thai"; font-style:normal; font-display:swap; font-weight:600; src:url("../fonts/noto-serif-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; }
:root {
  --palette-canvas:#f8f8f6; --palette-navy:#08173a; --palette-gold:#f7aa29;
  --palette-border:#dce2ec; --palette-muted:#8690b0;
  --color-canvas:var(--palette-canvas); --color-text:var(--palette-navy); --color-muted:#52617d;
  --color-surface:#ffffff; --color-surface-subtle:#eef1f6; --color-border:var(--palette-border);
  --color-control-border:#697895; --color-primary:var(--palette-navy); --color-on-primary:#ffffff;
  --color-accent:var(--palette-gold); --color-on-accent:var(--palette-navy);
  --color-accent-text:#925e00; --color-accent-surface:#fff7e8; --color-accent-border:#e6b955;
  --color-selected-rule:var(--color-accent-text);
  --color-header-rule:var(--palette-navy); --color-on-dark-muted:#c5cfe1;
  --color-focus:#255bc1; --color-selected:#e9eef8;
  --color-success:#146341; --color-success-surface:#eaf5ee;
  --color-warning:#795000; --color-warning-surface:#fff4d8;
  --color-danger:#a12330; --color-danger-surface:#fff0f1;
  --color-info:#24538e; --color-info-surface:#edf3fc;
  --chart-1:var(--color-primary); --chart-2:#a46c00; --chart-3:var(--color-success);
  --chart-4:var(--color-info); --chart-5:var(--color-danger);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem; --space-7:3rem;
  --font-body:"Noto Sans Thai",sans-serif; --font-heading:"Noto Sans Thai",sans-serif;
  --text-small:.875rem; --text-base:1rem; --text-title:2rem; --leading:1.65;
  --radius-small:.25rem; --radius-control:.375rem; --elevation-dialog:0 .5rem 2rem #08173a26;
  --elevation-surface:0 .5rem 1.75rem #08173a0a;
  /* Shared button treatment. Page layout and semantic action colors stay independent. */
  --radius-button:.5rem;
  --color-button-primary:#142944; --color-button-hover:#203b5b; --color-button-border:#8390a3;
  --elevation-button:inset 0 1px 0 rgb(255 255 255 / .16),0 2px 4px rgb(8 23 58 / .12);
  --elevation-button-secondary:0 1px 2px rgb(8 23 58 / .05);
  --elevation-button-hover:inset 0 1px 0 rgb(255 255 255 / .16),0 3px 6px rgb(8 23 58 / .16);
  --motion-short:140ms; --focus-ring:3px solid var(--color-focus);
  --wa-font-family-body:var(--font-body); --wa-font-family-heading:var(--font-heading);
  --wa-color-text-normal:var(--color-text); --wa-color-surface-default:var(--color-surface); --wa-focus-ring-color:var(--color-focus);
}
@media (prefers-reduced-motion:reduce) { :root { --motion-short:0ms; --wa-transition-normal:0ms; --wa-transition-fast:0ms; } }

