@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/fraunces-latin-500-normal.DnGCNyPD.woff2) format("woff2"),url(/_astro/fraunces-latin-500-normal.BTR4KCeb.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-latin-600-normal.BFCDtZfi.woff2) format("woff2"),url(/_astro/fraunces-latin-600-normal.DL5QCzvS.woff) format("woff")}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/fraunces-latin-400-italic.ChpO6tcr.woff2) format("woff2"),url(/_astro/fraunces-latin-400-italic.B7iDoVhm.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff")}:root{--ink: #f8fafc;--muted: #94a3b8;--paper: #0b0f14;--paper-2: #0f172a;--card: #0f172a;--line: rgba(248, 250, 252, .16);--header: #0b0f14;--header-text: #f8fafc;--header-muted: #94a3b8;--accent: #00d4c8;--accent-hover: #2dd4bf;--accent-ink: #0b0f14;--signal: #00d4c8;--shadow: 0 16px 40px rgba(0, 0, 0, .35);--serif: Fraunces, "Iowan Old Style", Palatino, Georgia, serif;--sans: "IBM Plex Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--wrap: 1120px;--header-h: 4.25rem;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;text-rendering:optimizeLegibility}img,svg{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.16em}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:1rem;top:-3rem;background:var(--signal);color:var(--accent-ink);padding:.5rem .8rem;z-index:40}.skip:focus{top:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrap{width:min(var(--wrap),calc(100% - 2.5rem));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:var(--header);color:var(--header-text);border-bottom:3px solid var(--signal)}.header-inner{width:min(var(--wrap),calc(100% - 2.5rem));margin-inline:auto;min-height:var(--header-h);display:flex;align-items:center;gap:1.25rem}.brand{display:inline-flex;align-items:center;flex-shrink:0;color:var(--header-text);text-decoration:none;line-height:0}.brand:hover{color:#fff}.brand-wordmark{display:block;height:2.65rem;width:auto}.nav-toggle{display:none;margin-left:auto;background:transparent;color:var(--header-text);border:1px solid rgba(248,250,252,.35);border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:.92rem}.nav{display:flex;align-items:center;gap:.15rem 1rem;margin-left:auto}.nav a{color:var(--header-muted);text-decoration:none;font-size:.95rem;font-weight:500}.nav a:hover,.nav a[aria-current=page]{color:#fff}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--signal)}.header-cta{display:inline-flex;align-items:center;text-decoration:none;background:var(--signal);color:var(--accent-ink);font-weight:600;font-size:.95rem;padding:.45rem .85rem;border-radius:999px}.header-cta:hover{color:var(--accent-ink);background:var(--accent-hover)}.locale-switcher{position:relative}.locale-switcher summary{list-style:none;cursor:pointer;color:var(--header-muted);font-size:.92rem;font-weight:500}.locale-switcher summary::-webkit-details-marker{display:none}.locale-menu{position:absolute;right:0;top:calc(100% + .45rem);min-width:9.5rem;padding:.3rem;background:var(--header);border:1px solid rgba(248,250,252,.22);border-radius:.6rem;z-index:40}.locale-menu a{display:block;padding:.35rem .65rem;color:var(--header-text);text-decoration:none;border-radius:.4rem}.locale-menu a:hover,.locale-menu a[aria-current=true]{color:var(--accent-ink);background:var(--signal)}.footer-langs{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin-top:.85rem}.footer-langs a[aria-current=true]{color:var(--signal)}html[lang=th] body,html[lang=th] h1,html[lang=th] h2,html[lang=th] h3,html[lang=th] .footer-brand,html[lang=th] button,html[lang=th] input,html[lang=th] select,html[lang=th] textarea{font-family:"Noto Sans Thai",var(--sans)}.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--signal)}.site-footer{background:var(--header);color:var(--header-muted);margin-top:4rem;padding:3rem 0 2rem;border-top:1px solid var(--line)}.site-footer a{color:var(--header-text);text-decoration:none}.site-footer a:hover{color:var(--signal)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}.footer-brand{display:inline-block;margin:0 0 .85rem;line-height:0;text-decoration:none}.footer-brand img{display:block;height:3rem;width:auto}.footer-title{margin:0 0 .7rem;color:var(--signal);font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li+li{margin-top:.4rem}.fine{margin-top:2.2rem;padding-top:1rem;border-top:1px solid rgba(248,250,252,.14);font-size:.88rem}.fine p{margin:0}.mailboxes{list-style:none;margin:.75rem 0 0;padding:0}.mailboxes li{display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:baseline}.mailboxes li+li{margin-top:.35rem}.mailbox-label{min-width:4.6rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.prose .mailboxes{padding-left:0}.site-footer .mailboxes{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem}.site-footer .mailboxes li+li{margin-top:0}.site-footer .mailbox-label{min-width:0;color:var(--signal)}.hero-band{background:var(--header);color:var(--header-text)}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.5rem;padding:3.4rem 0 1.6rem;align-items:center}.hero-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding-bottom:2.4rem}.kicker{margin:0 0 .8rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.hero-band .kicker{color:var(--signal)}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.03em;line-height:1.08}h1{margin:0;font-size:clamp(2.7rem,5.4vw,4.6rem)}h2{margin:0;font-size:clamp(1.8rem,3vw,2.5rem)}h3{margin:0;font-size:1.45rem}.lede{font-size:1.18rem;line-height:1.55;max-width:40rem}.hero-band .lede{color:var(--header-muted)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;border-radius:999px;padding:.72rem 1.1rem;font-weight:600;border:1px solid transparent}.button:hover{text-decoration:none}.button.primary{background:var(--accent);color:var(--accent-ink)}.button.primary:hover{background:var(--accent-hover);color:var(--accent-ink)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.button.secondary:hover{background:var(--ink);color:var(--accent-ink)}.button.signal{background:var(--signal);color:var(--accent-ink)}.button.signal:hover{background:var(--accent-hover);color:var(--accent-ink)}.button.ghost{background:transparent;color:var(--header-text);border-color:#f8fafc66}.button.ghost:hover{color:#fff;border-color:#fff}.hero-panel{display:grid;gap:.75rem}.hero-row{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.95rem 1rem;text-decoration:none;color:var(--header-text);background:var(--card);border:1px solid var(--line)}.hero-row:hover{color:#fff;border-color:var(--signal)}.hero-row .index,.index{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--signal)}.hero-row .index{color:var(--signal)}.hero-row strong{display:block;color:#fff;font-size:1.05rem}.hero-row .blurb{display:block;color:var(--muted);font-size:.98rem;line-height:1.4}.page{padding:2.4rem 0 0}.crumbs{margin-bottom:1.4rem}.crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem .2rem;list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.crumbs li:not(:last-child):after{content:"/";margin-left:.35rem;color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.page-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:end;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.page-hero.with-shot{grid-template-columns:.85fr 1.15fr;align-items:center}.page-hero.with-shot .aside-note{margin-top:1.2rem}.hero-shots{display:grid;gap:1rem;min-width:0}.page-hero .lede{margin-bottom:0}.page-hero .aside-note{margin:0;padding:1rem 1.1rem;background:var(--card);border-left:3px solid var(--accent);color:var(--muted);font-size:.98rem}.page-hero .aside-note p,.form-note p{margin:0}.form-note .mailboxes+p{margin-top:.75rem}.section{padding:3.2rem 0 0}.section-head{display:flex;justify-content:space-between;gap:1.5rem;align-items:end;margin-bottom:1.3rem}.section-head p{margin:0;max-width:36rem;color:var(--muted)}.grid-2,.grid-3,.family-list,.tool-list{display:grid;gap:1rem}.grid-2{grid-template-columns:1fr 1fr}.grid-3,.family-list{grid-template-columns:repeat(3,1fr)}.tool-list{grid-template-columns:1fr}.card{background:var(--card);border:1px solid var(--line);padding:1.15rem 1.15rem 1.2rem;box-shadow:var(--shadow);min-width:0;overflow-wrap:anywhere}.card h3{margin:.25rem 0 .45rem}.card p,.card li{color:var(--muted)}.card p{margin:.35rem 0}.card ul{margin:.7rem 0 0;padding-left:1.1rem}.meta{margin:0;font-family:var(--mono);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.card a.stretch{color:inherit;text-decoration:none}.card a.stretch:hover h3{color:var(--accent)}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.steps li{padding-top:.8rem;border-top:2px solid var(--ink)}.steps .index{color:var(--accent)}.steps p{margin:.4rem 0 0;color:var(--muted)}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start}.prose{max-width:44rem}.prose h2{margin:2rem 0 .6rem}.prose p,.prose li{color:var(--ink)}.prose ul,.prose ol{padding-left:1.2rem}.callout{margin:1.2rem 0;padding:1rem 1.1rem;background:var(--card);border-left:3px solid var(--accent)}.callout p{margin:.35rem 0}.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--card)}table{width:100%;border-collapse:collapse;min-width:640px}th,td{text-align:left;vertical-align:top;padding:.85rem 1rem;border-bottom:1px solid var(--line)}th{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--muted);background:#f8fafc0f}td a{font-weight:600}.screen-gallery h2{margin-bottom:1.2rem}.screen-group+.screen-group{margin-top:1.75rem}.screen-group h3{margin:0 0 .75rem;font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.screen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;align-items:start}.shot{margin:0;min-width:0}.shot-open{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in}.shot-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shot img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:.45rem;background:#000}.shot figcaption{margin:.55rem 0 0;color:var(--muted);font-size:.92rem}.hero-band .shot figcaption{color:var(--header-muted)}.screen-grid .shot{background:var(--card);border:1px solid var(--line);border-radius:.7rem;overflow:hidden}.screen-grid .shot img{border:0;border-radius:0}.screen-grid .shot figcaption{margin:0;padding:.7rem .85rem .85rem}.screen-grid img{display:block;width:100%;height:auto;background:#000}.symbol-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.15rem 1rem;font-family:var(--mono);font-size:.82rem}.symbol-list li{margin:0;padding:.28rem 0;border-bottom:1px solid var(--line);color:var(--ink)}.control-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin-bottom:1.25rem}.appearance-label{margin:1.6rem 0 .75rem;font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.feature-list{margin:.35rem 0 0;padding-left:1.15rem}.card .feature-list li,.prose .feature-list li{color:var(--ink)}.card-links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:.85rem 0 0}.control-shot{margin:0 0 .85rem}.page-hero .control-shot{margin:0}.control-shot img{display:block;width:100%;height:auto;background:#0b0f14;border:1px solid var(--line);border-radius:.45rem}.faq{display:grid;gap:.6rem}.faq details{background:var(--card);border:1px solid var(--line);padding:.85rem 1rem}.faq summary{cursor:pointer;font-weight:600}.faq-question{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.faq-copy{flex:none;margin-top:.15rem;border:0;background:transparent;color:var(--muted);padding:0;line-height:0;cursor:pointer}.faq p,.faq li{margin:.7rem 0 .2rem;color:var(--muted)}.faq ul,.faq ol{margin:.35rem 0 .2rem;padding-left:1.25rem}.jump-links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:1rem 0 0}pre{margin:0;padding:1rem 1.05rem;overflow-x:auto;background:var(--header);color:var(--header-text);font-family:var(--mono);font-size:.86rem;line-height:1.55}code{font-family:var(--mono);font-size:.92em}.prose code{background:#f8fafc14;padding:.05rem .3rem}.stack{display:grid;gap:1rem}.form{display:grid;gap:.9rem;max-width:38rem}.form label{display:grid;gap:.3rem;font-weight:600;font-size:.95rem}.form input,.form select,.form textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:0;padding:.65rem .7rem}.form textarea{min-height:9rem;resize:vertical}.form button{justify-self:start;font:inherit;font-weight:600;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:.72rem 1.15rem;cursor:pointer}.form button:hover{background:var(--accent-hover)}.form-note,.miss p{color:var(--muted)}.miss{padding:4rem 0 3rem}html.lightbox-open,html.lightbox-open body{overflow:hidden;overscroll-behavior:none}.lightbox:not([open]){display:none}.lightbox{position:fixed;inset:0;align-items:center;justify-content:center;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:calc(max(.75rem,env(safe-area-inset-top)) + 52px) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));border:0;background:#060a0ef0;color:var(--ink);box-sizing:border-box}.lightbox[open]{display:flex}.lightbox::backdrop{background:#05080ce0}.lightbox-close{position:absolute;z-index:2;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--accent);border-radius:999px;background:#0b0f14;color:var(--accent);cursor:pointer}.lightbox-close:hover,.lightbox-close:focus-visible{background:var(--accent);color:var(--accent-ink)}.lightbox-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:100%;height:auto;max-height:100%;min-height:0;margin:0}.lightbox-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 10rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;border:1px solid rgba(0,212,200,.45);border-radius:.45rem;background:#000}.screen-grid .shot-open:focus-visible,.card .shot-open:focus-visible{outline-offset:-3px}.lightbox-frame figcaption{width:min(100%,52rem);margin:.75rem 0 0;text-align:center}.lightbox-caption,.lightbox-alt{margin:0}.lightbox-caption{color:var(--ink);font-size:1rem}.lightbox-alt{margin-top:.2rem;color:var(--accent);font-size:.92rem}.lightbox-alt:empty,.lightbox-caption:empty{display:none}@media(max-width:1040px){.nav-toggle{display:inline-flex}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--header);padding:.4rem 1.25rem 1rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(248,250,252,.12)}.nav.is-open{display:flex}.nav a{padding:.45rem 0}.header-inner{position:static}.site-header{position:sticky}.header-inner{position:relative}.hero-grid,.page-hero,.grid-3,.family-list,.steps,.footer-grid,.split{grid-template-columns:1fr 1fr}}@media(max-width:720px){.wrap,.header-inner{width:min(var(--wrap),calc(100% - 1.5rem));gap:.45rem}.header-cta,.nav-toggle,.locale-switcher summary{font-size:.85rem}.header-cta,.nav-toggle{padding:.32rem .6rem}.hero-grid,.page-hero,.grid-2,.grid-3,.family-list,.steps,.footer-grid,.split,.section-head{grid-template-columns:1fr}.hero-grid{padding:2.6rem 0 1.4rem}.hero-links{grid-template-columns:1fr}h1{font-size:2.45rem}.brand-wordmark{height:1.9rem}.symbol-list{grid-template-columns:repeat(2,minmax(0,1fr))}.symbol-list li{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/noto-sans-thai-thai-400-normal.BEOmKAI1.woff2) format("woff2"),url(/_astro/noto-sans-thai-thai-400-normal.Dxb_unuU.woff) format("woff")}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/noto-sans-thai-thai-600-normal.Cs73sVjl.woff2) format("woff2"),url(/_astro/noto-sans-thai-thai-600-normal.CmgB8_JK.woff) format("woff")}
