@font-face{font-family:Chonburi;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/chonburi-400-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Chonburi;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/chonburi-400-latin.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:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-thai-400-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-thai-400-latin.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:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-thai-600-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-thai-600-latin.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:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plex-thai-700-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plex-thai-700-latin.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-latin.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{--jade-900: #0b0708;--jade-800: #120c0c;--jade-700: #a8380a;--jade-600: #241a18;--butter: #ff7a2e;--butter-deep: #c25510;--pig: #f08a6e;--pig-deep: #e8705a;--pig-ink: #3a1008;--cream: #fdf3e2;--cream-2: #f5e9d8;--cream-3: #e5d6c2;--ink: #1a1210;--ink-2: #4a3b36;--ink-3: #6e5c55;--ox: #050303;--ox-2: #0e0908;--ox-3: #241a18;--brass: #ff7a2e;--bone: #fdf3e2;--rose: #9a8378;--surface: var(--cream);--surface-2: var(--cream-2);--on-surface: var(--ink);--on-surface-2: var(--ink-2);--on-surface-3: var(--ink-3);--accent: var(--jade-700);--hairline: var(--cream-3);--neon-glow: 0 0 24px rgba(255, 122, 46, .45);--neon-glow-soft: 0 0 14px rgba(255, 122, 46, .3);--f-display: "Chonburi", Georgia, "Times New Roman", serif;--f-body: "IBM Plex Sans Thai", "IBM Plex Sans", system-ui, -apple-system, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lh-body: 1.62;--lh-thai: 1.85;--measure: 68ch;--gutter: clamp(1.15rem, 4vw, 2.5rem);--page: 1180px;--radius: 14px;--radius-sm: 8px;--step-0: clamp(.95rem, .2vw + .9rem, 1.02rem);--step-1: clamp(1.1rem, .4vw + 1rem, 1.3rem);--step-2: clamp(1.35rem, 1vw + 1.1rem, 1.75rem);--step-3: clamp(1.75rem, 2.2vw + 1.2rem, 2.6rem);--step-4: clamp(2.3rem, 4.6vw + 1.2rem, 4rem)}.theme-bar{--surface: var(--ox);--surface-2: var(--ox-2);--on-surface: var(--bone);--on-surface-2: var(--rose);--on-surface-3: var(--rose);--accent: var(--brass);--hairline: var(--ox-3)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;background:var(--jade-900);color:var(--on-surface);font-family:var(--f-body);font-size:var(--step-0);line-height:var(--lh-body);font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;overflow-x:hidden}:lang(th){line-height:var(--lh-thai);text-align:start;word-break:normal;line-break:normal}img,svg,video{display:block;max-width:100%}h1,h2,h3,h4{margin:0;text-wrap:balance;font-weight:400;line-height:1.12}p{margin:0}ul[role=list]{list-style:none;margin:0;padding:0}a{color:inherit;text-underline-offset:.18em}:focus-visible{outline:3px solid var(--butter);outline-offset:3px;border-radius:4px}.theme-bar :focus-visible{outline-color:var(--brass)}.page{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--measure)}.display{font-family:var(--f-display);font-weight:400;letter-spacing:-.005em}.kicker{font-family:var(--f-mono);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.nums{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:.5rem;top:-4rem;z-index:100;background:var(--butter);color:var(--jade-900);padding:.6rem 1rem;border-radius:var(--radius-sm);font-weight:700;transition:top .15s ease}.skip-link:focus{top:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:3rem;padding:.7em 1.5em;border:0;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;transition:transform .12s ease,filter .12s ease}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--butter);color:var(--jade-900)}.btn--line{background:var(--cream);color:var(--jade-900)}.btn--ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 2px currentColor}.theme-bar .btn--primary{background:var(--brass);color:var(--ox)}.theme-bar .btn--ghost{color:var(--bone)}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section__head{display:grid;gap:.35rem;margin-bottom:clamp(1.5rem,3vw,2.25rem)}.section__title{font-family:var(--f-display);font-size:var(--step-3)}.section__sub{color:var(--on-surface-2);max-width:52ch}
