@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_26c32ee6-module__roa7Sa__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_26c32ee6-module__roa7Sa__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_c01e16d6-module__2RVLUa__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_c01e16d6-module__2RVLUa__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_82848d62-module__lSkpWa__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_82848d62-module__lSkpWa__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/08f3d05b771d66cc-s.0dczi0c-ciz7y.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/413670c8b897121b-s.p.05ilbcjt5w4fk.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/72b93e0389b54497-s.2702wjwyj2vsx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab8c2f9dfe50fb3c-s.3fhymijt5-wr6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:500;font-display:swap;src:url(../media/57f2d0e8dd065b18-s.0ur3_fbwo_va3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/966a1ae9b0187c65-s.p.09_mmm-c_hkcy.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/25d906941e607a44-s.0ghkj-ex387wh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/666deae7c569669f-s.2alr3g42g9l52.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/cce0da533fe89a78-s.35947kbvg7zc1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/411573def610439a-s.p.3vzg-qdg-mlha.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0f35197ba25d2b5b-s.0ocszbwiwtgcl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e4b5e1d5de235207-s.2-n8yh_gomb7-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/cdf71b3840042aba-s.1r679f9ot6uy5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86fee4a10e2832ea-s.p.1zok-_5r3pqeg.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b1ef0ab36ab59f4e-s.0nl58c1sdfppa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9fdf3a539c009271-s.2a0hoz7g7hm1p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback;src:local(Arial);ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_thai_edeb78b3-module__9eQWFW__className{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.ibm_plex_sans_thai_edeb78b3-module__9eQWFW__variable{--font-thai:"IBM Plex Sans Thai", "IBM Plex Sans Thai Fallback"}
:root{--bg:#0b1210;--bg-2:#0f1916;--surface:#13201c;--surface-2:#182823;--line:#213530;--line-strong:#2d4740;--fg:#e4eee9;--muted:#8fa49c;--faint:#5f746c;--accent:#6fbfa5;--accent-hi:#86cdb6;--accent-deep:#4f9e86;--accent-ink:#06231b;--glow:#6fbfa529;--warn:#f0cf8e;--code-bg:#08100d;--code-line:#1b2c27;--code-fg:#d5e4de;--code-dim:#5d756c;--font-display:var(--font-bricolage), var(--font-thai), "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-body:var(--font-geist), var(--font-thai), "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), "SFMono-Regular", var(--font-thai), Menlo, Consolas, monospace;--wrap:1180px;--radius:10px;--header-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f8f6;--bg-2:#edf2ef;--surface:#fff;--surface-2:#f1f5f2;--line:#dbe4df;--line-strong:#c3d2ca;--fg:#10201a;--muted:#52665d;--faint:#7d8f87;--accent:#2f6f5e;--accent-hi:#255a4c;--accent-deep:#2f6f5e;--accent-ink:#fff;--glow:#2f6f5e1a;--warn:#9a6a12;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f5f8f6;--bg-2:#edf2ef;--surface:#fff;--surface-2:#f1f5f2;--line:#dbe4df;--line-strong:#c3d2ca;--fg:#10201a;--muted:#52665d;--faint:#7d8f87;--accent:#2f6f5e;--accent-hi:#255a4c;--accent-deep:#2f6f5e;--accent-ink:#fff;--glow:#2f6f5e1a;--warn:#9a6a12;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.only-light{display:none!important}:root[data-theme=light] .only-light{display:revert!important}:root[data-theme=light] .only-dark{display:none!important}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .only-light{display:revert!important}:root:not([data-theme=dark]) .only-dark{display:none!important}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}body{background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}a{color:inherit;text-decoration:none}img{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.02em;margin:0;line-height:1.08}p{margin:0}code,kbd,pre{font-family:var(--font-mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}@media (max-width:640px){.wrap{padding-inline:16px}}.eyebrow{font:500 12px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:18px;height:2px;transform:scaleY(.6);box-shadow:0 5px,0 -5px}.btn{height:44px;font:500 15px/1 var(--font-body);border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 18px;transition:border-color .15s,background .15s;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hi)}.btn svg{width:16px;height:16px}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.chip{font:400 12px var(--font-mono);border:1px solid var(--line-strong);color:var(--fg);background:var(--bg-2);border-radius:5px;padding:3px 7px}.cat{font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{height:var(--header-h);align-items:center;gap:28px;display:flex}.brand{font:650 18px/1 var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;display:flex}.brand svg{width:28px;height:28px}.brand .ver{font:500 11px/1 var(--font-mono);color:var(--muted);border:1px solid var(--line-strong);letter-spacing:0;border-radius:5px;padding:4px 6px}.nav{gap:4px;display:flex}.nav a{color:var(--muted);white-space:nowrap;border-radius:6px;padding:8px 12px;font-size:14.5px;transition:color .15s,background .15s}.nav a:hover{color:var(--fg)}.nav a[aria-current=page]{color:var(--fg);background:var(--surface-2)}.header-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.search-btn{border:1px solid var(--line);background:var(--bg-2);height:36px;color:var(--faint);font:400 14px var(--font-body);border-radius:8px;align-items:center;gap:10px;min-width:200px;padding:0 10px 0 12px;display:flex}.search-btn kbd{border:1px solid var(--line-strong);color:var(--muted);border-radius:4px;margin-left:auto;padding:2px 5px;font-size:11px}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{color:var(--fg);border-color:var(--line)}.icon-btn svg{width:18px;height:18px}.gh-pill{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:13.5px;display:inline-flex}.gh-pill svg{width:16px;height:16px}@media (max-width:960px){.search-btn{min-width:0}.search-btn span,.search-btn kbd{display:none}}@media (max-width:760px){.site-header .wrap{flex-wrap:wrap;row-gap:6px;height:auto;padding-block:10px}.nav{order:3;width:100%;margin-inline:-8px;overflow-x:auto}.gh-pill span{display:none}}.section{padding-block:112px}.section.flush-top{padding-top:0}@media (max-width:760px){.section{padding-block:72px}}.section-head{gap:16px;max-width:680px;margin-bottom:52px;display:grid}.section-head h2{font-size:clamp(32px,4.2vw,48px);font-weight:650}.section-head p{color:var(--muted);max-width:60ch;font-size:18px}.row-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}.row-head .section-head{margin:0}.hero{padding-block:88px 64px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 70% 0%, var(--glow), transparent 70%), repeating-linear-gradient(to bottom, transparent 0 47px, color-mix(in srgb, var(--line) 55%, transparent) 47px 48px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 30%,#0000 95%);mask-image:linear-gradient(#000 30%,#0000 95%)}.hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:56px;display:grid;position:relative}.hero-copy{gap:26px;min-width:0;display:grid}.badge{border:1px solid var(--line-strong);color:var(--muted);background:var(--bg-2);border-radius:99px;justify-self:start;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-size:13px;display:inline-flex}.badge b{font:500 11px/1 var(--font-mono);color:var(--accent-ink);background:var(--accent);border-radius:99px;padding:5px 7px}.badge:hover{color:var(--fg)}.badge svg{width:14px;height:14px}.hero h1{letter-spacing:-.035em;font-size:clamp(42px,6vw,72px);font-weight:750;line-height:1}.hero h1 em{color:var(--accent);white-space:nowrap;font-style:normal}.hero .lede{color:var(--muted);max-width:52ch;font-size:19px}.hero .lede code{color:var(--fg);background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:.9em}.hero-meta{font:400 13px var(--font-mono);color:var(--faint);flex-wrap:wrap;gap:8px 20px;display:flex}.hero-meta span{align-items:center;gap:7px;display:inline-flex}.hero-meta span:before{content:"";background:var(--accent-deep);border-radius:50%;width:6px;height:6px}.hero-visual{min-width:0;position:relative}.float-code{border:1px solid var(--code-line);background:var(--code-bg);width:min(340px,78%);font:400 12.5px/1.7 var(--font-mono);color:var(--code-fg);border-radius:10px;position:absolute;bottom:-36px;left:-44px;overflow:hidden;box-shadow:0 30px 60px -20px #0009}.float-code .fname{border-bottom:1px solid var(--code-line);color:var(--code-dim);justify-content:space-between;padding:8px 14px;font-size:11.5px;display:flex}.float-code pre{margin:0;padding:12px 14px;overflow-x:auto;background:0 0!important}@media (max-width:980px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.float-code{bottom:-28px;left:12px}.hero{padding-bottom:80px}}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.12s}.hero-copy>:nth-child(4){animation-delay:.18s}.hero-copy>:nth-child(5){animation-delay:.24s}.hero-visual{animation:.9s cubic-bezier(.2,.7,.2,1) .15s both rise}}@keyframes rise{0%{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}.installer{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--code-bg);max-width:460px;overflow:hidden}.pm-tabs{border-bottom:1px solid var(--code-line);gap:2px;padding:6px 6px 0;display:flex}.pm-tabs button{font:500 12.5px/1 var(--font-mono);color:var(--code-dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 10px 10px}.pm-tabs button[aria-selected=true]{color:var(--code-fg);border-bottom-color:var(--accent)}.install-line{font:400 15px/1 var(--font-mono);color:var(--code-fg);align-items:center;gap:10px;padding:14px 10px 14px 16px;display:flex}.install-line .prompt{color:var(--accent-hi);-webkit-user-select:none;user-select:none}.install-line code{white-space:nowrap;flex:1;min-width:0;overflow-x:auto}.copy-btn{font:500 12px var(--font-mono);color:var(--code-dim);border:1px solid var(--code-line);cursor:pointer;background:0 0;border-radius:6px;flex:none;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.copy-btn:hover{color:var(--code-fg)}.copy-btn svg{width:14px;height:14px}.window{border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 40px 80px -30px #00000073, 0 0 0 1px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:12px;overflow:hidden}.window-bar{border-bottom:1px solid var(--line);background:var(--bg-2);align-items:center;gap:12px;height:38px;padding:0 14px;display:flex}.dots{gap:6px;display:flex}.dots i{background:var(--line-strong);border-radius:50%;width:10px;height:10px}.url{text-align:center;font:400 12px var(--font-mono);color:var(--muted);background:var(--bg);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex:1;max-width:320px;margin-inline:auto;padding:4px 10px;overflow:hidden}.url b{color:var(--fg);font-weight:500}.shot{aspect-ratio:16/10;object-fit:cover;object-position:top left;width:100%;height:auto;display:block}.stack{border-block:1px solid var(--line);background:var(--bg-2);padding-block:40px}.stack .wrap{flex-wrap:wrap;align-items:center;gap:20px 40px;display:flex}.stack .label{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}.stack ul{flex-wrap:wrap;gap:14px 36px;margin:0;padding:0;list-style:none;display:flex}.stack li{font:650 19px/1 var(--font-display);color:var(--muted);letter-spacing:-.01em;align-items:center;gap:8px;display:flex}.stack li small{font:400 12px var(--font-mono);color:var(--faint);letter-spacing:0}.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.arch{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-content:start;gap:22px;padding:28px;display:grid}.arch.is-ours{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface) 60%)}.arch h3{font-size:22px;font-weight:650}.arch .tag{font:500 11.5px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}.arch.is-ours .tag{color:var(--accent)}.diagram{font:400 13px var(--font-mono);gap:10px;display:grid}.node{border:1px dashed var(--line-strong);color:var(--muted);border-radius:8px;gap:8px;padding:12px 14px;display:grid}.node b{color:var(--fg);font-weight:500;font-family:var(--font-body);font-size:14px}.node.solid{border-style:solid;border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.node .chips{flex-wrap:wrap;gap:6px;display:flex}.node.solid .chip{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.link-line{color:var(--faint);align-items:center;gap:10px;padding-left:14px;font-size:12px;display:flex}.link-line:before{content:"";background:var(--line-strong);width:1px;height:22px}.split-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.arch ul{color:var(--muted);gap:8px;margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.arch li{gap:10px;display:flex}.arch li:before{content:"–";color:var(--faint)}.arch.is-ours li:before{content:"✓";color:var(--accent)}@media (max-width:860px){.compare{grid-template-columns:minmax(0,1fr)}}.codefirst{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:48px;display:grid}.steps{counter-reset:step;gap:4px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step}.steps button{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid #0000;border-radius:10px;grid-template-columns:34px 1fr;gap:4px 14px;width:100%;padding:18px;display:grid}.steps button:before{content:counter(step);width:30px;height:30px;font:500 13px var(--font-mono);border:1px solid var(--line-strong);color:var(--muted);border-radius:8px;grid-row:span 2;place-items:center;display:grid}.steps button:hover{background:var(--surface)}.steps button:focus-visible{outline:2px solid var(--accent)}.steps button[aria-selected=true]{background:var(--surface);border-color:var(--line)}.steps button[aria-selected=true]:before{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.steps b{font:600 16px var(--font-body)}.steps span{color:var(--muted);font-size:14.5px}.steps code{color:var(--fg);font-size:13px}.editor{border:1px solid var(--code-line);background:var(--code-bg);border-radius:12px;min-width:0;overflow:hidden}.editor-tabs{border-bottom:1px solid var(--code-line);display:flex;overflow-x:auto}.editor-tabs button{font:400 12.5px var(--font-mono);color:var(--code-dim);border:0;border-right:1px solid var(--code-line);cursor:pointer;white-space:nowrap;background:0 0;padding:12px 16px}.editor-tabs button[aria-selected=true]{color:var(--code-fg);background:color-mix(in srgb, var(--accent) 7%, var(--code-bg));box-shadow:inset 0 -2px 0 var(--accent)}.editor .panel pre{font:400 13.5px/1.75 var(--font-mono);min-height:470px;margin:0;padding:20px 22px;overflow-x:auto;background:0 0!important}@media (max-width:920px){.codefirst{grid-template-columns:minmax(0,1fr)}.editor .panel pre{min-height:0}}.features{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.feature{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:12px;padding:30px 28px 34px;transition:background .2s;display:grid}.feature:hover{background:var(--surface)}.feature svg{width:22px;height:22px;color:var(--accent)}.feature h3{font:600 17px/1.3 var(--font-body);letter-spacing:-.005em}.feature p{color:var(--muted);font-size:14.5px}.feature code{color:var(--fg);font-size:12.5px}@media (max-width:900px){.features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.features{grid-template-columns:minmax(0,1fr)}}.plugins-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:56px;display:grid}.plugins-grid .section-head{margin:0}.plugin-list{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.plugin{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:18px 22px;display:grid}.plugin:last-child{border-bottom:0}.plugin code{overflow-wrap:anywhere;font-size:14px;font-weight:500}.plugin p{color:var(--muted);grid-column:1;font-size:14px}.plugin .since{font:400 11.5px var(--font-mono);color:var(--faint);border:1px solid var(--line-strong);border-radius:5px;grid-area:1/2/span 2;padding:3px 7px}@media (max-width:860px){.plugins-grid{grid-template-columns:minmax(0,1fr);gap:32px}}.showcase-band{background:var(--bg-2);border-block:1px solid var(--line)}.seg{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:4px;display:inline-flex}.seg button{font:500 13.5px var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 14px}.seg button[aria-selected=true]{background:var(--surface-2);color:var(--fg);box-shadow:0 0 0 1px var(--line-strong)}.showcase-band .shot{aspect-ratio:16/9.4}.lang-note{font:400 13px var(--font-mono);color:var(--faint);flex-wrap:wrap;gap:18px;margin-top:18px;display:flex}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.post-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-rows:auto 1fr auto;gap:14px;padding:24px;transition:border-color .15s,transform .15s;display:grid}.post-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.post-card .body{align-content:start;gap:10px;display:grid}.meta{font:400 12.5px var(--font-mono);color:var(--faint);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.post-card h3{font-size:21px;font-weight:650;line-height:1.2}.post-card p{color:var(--muted);font-size:14.5px}.post-card .read{align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.post-card .read svg{width:14px;height:14px}.post-cover{background:var(--bg-2);border:1px solid var(--line);border-radius:9px;place-items:center;height:132px;display:grid;position:relative;overflow:hidden}.post-cover:before{content:"";background:repeating-linear-gradient(to bottom, transparent 0 21px, var(--line) 21px 22px);opacity:.6;position:absolute;inset:0}.post-cover span{font:500 26px var(--font-mono);color:var(--accent);letter-spacing:-.02em;text-align:center;padding-inline:12px;position:relative}.post-cover.alt span{color:var(--fg)}.post-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.empty{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:14px;padding:32px}.empty code{color:var(--fg)}@media (max-width:900px){.post-grid{grid-template-columns:minmax(0,1fr)}}.final-box{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));background:radial-gradient(80% 120% at 100% 0%, var(--glow), transparent 60%), var(--surface);border-radius:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:40px;padding:64px 56px;display:grid;position:relative;overflow:hidden}.final-box h2{font-size:clamp(32px,4vw,46px);font-weight:750}.final-box p{color:var(--muted);max-width:46ch;margin-top:14px;font-size:17px}.final-box .cta-row{justify-content:flex-end}@media (max-width:860px){.final-box{grid-template-columns:minmax(0,1fr);padding:40px 24px}.final-box .cta-row{justify-content:flex-start}}.site-footer{border-top:1px solid var(--line);margin-top:40px;padding-block:56px 40px}.foot-grid{grid-template-columns:1.4fr repeat(4,1fr);gap:32px;display:grid}.foot-grid h4{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:14px}.foot-grid ul{color:var(--muted);gap:9px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.foot-grid a:hover{color:var(--fg)}.foot-brand p{color:var(--muted);max-width:32ch;margin-top:14px;font-size:14px}.foot-bottom{border-top:1px solid var(--line);font:400 12.5px var(--font-mono);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;display:flex}@media (max-width:860px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}.page-head{border-bottom:1px solid var(--line);padding-block:72px 40px}.page-head .wrap{gap:18px;display:grid}.page-head h1{letter-spacing:-.03em;font-size:clamp(40px,5.5vw,64px);font-weight:750}.page-head p{color:var(--muted);max-width:58ch;font-size:18px}.filters{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.filters button{font:500 13.5px var(--font-body);color:var(--muted);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:99px;padding:7px 14px}.filters button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.blog-body{gap:28px;padding-block:48px 40px;display:grid}.featured{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:36px;padding:28px;display:grid}.featured .post-cover{height:100%;min-height:260px}.featured .post-cover span{font-size:44px}.featured-copy{gap:16px;display:grid}.featured h2{font-size:clamp(28px,3.2vw,38px);font-weight:700}.featured p{color:var(--muted);font-size:16.5px}.author{align-items:center;gap:10px;font-size:14px;display:flex}.avatar{width:32px;height:32px;font:600 13px var(--font-body);color:var(--accent-ink);background:var(--accent);border-radius:50%;place-items:center;display:grid}.author small{color:var(--faint);font-size:12.5px;display:block}@media (max-width:860px){.featured{grid-template-columns:minmax(0,1fr);padding:18px}.featured .post-cover{min-height:170px}}.article{padding-block:64px 40px}.article-head{margin-inline:auto;gap:18px;max-width:760px;margin-bottom:40px;display:grid}.article-head h1{letter-spacing:-.03em;font-size:clamp(36px,5vw,56px);font-weight:750}.article-head .excerpt{color:var(--muted);font-size:19px}.back-link{font:400 13px var(--font-mono);color:var(--faint)}.back-link:hover{color:var(--accent)}.article .prose{max-width:720px;margin-inline:auto}.releases{padding-block:48px 40px;display:grid}.release{border-bottom:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:40px;padding-block:36px;display:grid}.release:last-child{border-bottom:0}.rel-side{top:calc(var(--header-h) + 26px);align-content:start;gap:8px;display:grid;position:sticky}.rel-side .v{font:500 22px var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rel-side time{font:400 13px var(--font-mono);color:var(--faint)}.kind{font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line-strong);color:var(--muted);border-radius:5px;justify-self:start;padding:3px 7px}.kind.minor,.kind.major{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.rel-body h2{margin-bottom:12px;font-size:24px;font-weight:650}.rel-body>p{color:var(--muted);margin-bottom:14px}.rel-body ul{color:color-mix(in srgb, var(--fg) 88%, var(--muted));gap:8px;margin:0;padding-left:20px;font-size:15px;display:grid}.rel-body code{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:.86em}.pkgs{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.chip.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, var(--line))}@media (max-width:760px){.release{grid-template-columns:minmax(0,1fr);gap:14px}.rel-side{grid-auto-flow:column;justify-content:start;align-items:center;gap:12px;position:static}}.site-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-block:48px 40px;display:grid}.site-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:14px;padding:16px 16px 22px;transition:border-color .15s;display:grid}.site-card:hover{border-color:var(--accent)}.site-card .thumb{aspect-ratio:16/10;border:1px solid var(--line);background:var(--bg-2);font:500 15px var(--font-mono);color:var(--faint);border-radius:9px;place-items:center;display:grid;overflow:hidden}.site-card .thumb img{object-fit:cover;width:100%;height:100%}.site-card h2{padding-inline:4px;font-size:20px;font-weight:650}.site-card p{color:var(--muted);padding-inline:4px;font-size:14.5px}.site-card .chips{flex-wrap:wrap;gap:6px;padding-inline:4px;display:flex}.site-card.submit{text-align:center;border-style:dashed;align-content:center;padding:32px}@media (max-width:900px){.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.site-grid{grid-template-columns:minmax(0,1fr)}}.docs-layout{grid-template-columns:248px minmax(0,1fr) 210px;align-items:start;gap:48px;padding-block:32px 80px;display:grid}.docs-side{top:calc(var(--header-h) + 20px);max-height:calc(100vh - var(--header-h) - 40px);padding-right:8px;font-size:14px;position:sticky;overflow-y:auto}.side-group{margin-bottom:22px}.side-group h5{font:600 13px var(--font-body);margin:0 0 8px}.side-group ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.side-group a{color:var(--muted);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;display:block}.side-group a:hover{color:var(--fg);border-left-color:var(--line-strong)}.side-group a[aria-current=page]{color:var(--accent);border-left-color:var(--accent);font-weight:500}.doc{min-width:0;max-width:760px}.crumbs{font:400 13px var(--font-mono);color:var(--faint);flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.crumbs span:last-child{color:var(--fg)}.doc-pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;display:grid}.doc-pager a{border:1px solid var(--line);border-radius:10px;gap:4px;padding:16px 18px;display:grid}.doc-pager a:hover{border-color:var(--accent)}.doc-pager a.next{text-align:right;grid-column:2}.doc-pager small{font:400 12px var(--font-mono);color:var(--faint)}.doc-pager b{font-weight:600}.doc-foot{color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;font-size:13.5px;display:flex}.doc-foot a{color:var(--muted);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.toc{top:calc(var(--header-h) + 20px);max-height:calc(100vh - var(--header-h) - 40px);font-size:13.5px;position:sticky;overflow-y:auto}.toc h5{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin:0 0 12px}.toc ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.toc li.depth-3{padding-left:12px}.toc a{color:var(--muted)}.toc a:hover,.toc a.on{color:var(--accent)}.mobile-docnav{display:none}@media (max-width:1100px){.docs-layout{grid-template-columns:220px minmax(0,1fr)}.toc{display:none}}@media (max-width:780px){.docs-layout{grid-template-columns:minmax(0,1fr);gap:20px}.docs-side{display:none}.mobile-docnav{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;display:block}.mobile-docnav summary{color:var(--muted);cursor:pointer;padding:10px 14px;font-size:14px}.mobile-docnav .docs-side-inner{max-height:60vh;padding:4px 14px 14px;font-size:14px;overflow-y:auto}.doc-pager{grid-template-columns:minmax(0,1fr)}.doc-pager a.next{grid-column:1}}.prose{font-size:16px}.prose>*+*{margin-top:16px}.prose h1{margin-bottom:8px;font-size:clamp(34px,4vw,44px);font-weight:700}.prose h2{margin-top:48px;padding-top:8px;font-size:26px;font-weight:650}.prose h3{letter-spacing:-.01em;margin-top:32px;font-size:19px;font-weight:650}.prose h2 a.anchor,.prose h3 a.anchor{color:inherit}.prose p,.prose li{color:color-mix(in srgb, var(--fg) 88%, var(--muted))}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose ul,.prose ol{gap:6px;padding-left:22px;display:grid}.prose strong{color:var(--fg);font-weight:600}.prose :not(pre)>code{background:var(--surface-2);border:1px solid var(--line);color:var(--fg);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px;font-size:.88em}.prose blockquote{border-left:2px solid var(--line-strong);color:var(--muted);margin-inline:0;padding-left:16px}.prose hr{border:0;border-top:1px solid var(--line);margin-block:40px}.prose img{border:1px solid var(--line);border-radius:10px}.prose .table-wrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}.prose th{background:var(--bg-2);font-weight:600}.prose tr:last-child td{border-bottom:0}.prose details{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px 16px}.prose summary{cursor:pointer;font-weight:600}.callout{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 7%, var(--surface));border-radius:10px;padding:14px 18px;font-size:15px}.callout>*+*{margin-top:8px}.callout .callout-title{color:var(--fg);align-items:center;gap:8px;font-weight:600;display:flex}.callout .callout-title:before{content:"i";border:1.5px solid var(--accent);width:18px;height:18px;color:var(--accent);font:600 11px var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.callout p{color:var(--muted)}.callout.warning{border-color:color-mix(in srgb, var(--warn) 40%, var(--line));background:color-mix(in srgb, var(--warn) 7%, var(--surface))}.callout.warning .callout-title:before{content:"!";border-color:var(--warn);color:var(--warn)}.callout.tip .callout-title:before{content:"✓"}.prose figure[data-rehype-pretty-code-figure]{border:1px solid var(--code-line);background:var(--code-bg);border-radius:10px;margin:0;position:relative;overflow:hidden}.prose figure[data-rehype-pretty-code-figure] figcaption{border-bottom:1px solid var(--code-line);font:400 12px var(--font-mono);color:var(--code-dim);padding:10px 14px}.prose pre{font:400 13.5px/1.7 var(--font-mono);margin:0;padding:16px 18px;overflow-x:auto;background:0 0!important}.prose pre code{display:grid}.prose [data-highlighted-line]{background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:inset 2px 0 0 var(--accent);margin-inline:-18px;padding-inline:16px 18px}.prose figure .copy-btn{opacity:0;background:var(--code-bg);transition:opacity .15s;position:absolute;top:6px;right:8px}.prose figure:hover .copy-btn,.prose figure .copy-btn:focus-visible{opacity:1}.code-group{border:1px solid var(--code-line);background:var(--code-bg);border-radius:10px;overflow:hidden}.code-group .cg-tabs{border-bottom:1px solid var(--code-line);gap:2px;padding:4px 6px 0;display:flex;overflow-x:auto}.code-group .cg-tabs button{font:500 12.5px/1 var(--font-mono);color:var(--code-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 10px 11px}.code-group .cg-tabs button[aria-selected=true]{color:var(--code-fg);border-bottom-color:var(--accent)}.code-group figure[data-rehype-pretty-code-figure]{border:0;border-radius:0}.code-group figure[data-rehype-pretty-code-figure] figcaption,.code-group.ready figure[hidden]{display:none}.code-group+*{margin-top:16px}.screenshot{display:block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media (max-width:520px){.hero h1 em{white-space:normal}.site-header .wrap{gap:12px}.brand .ver{display:none}.header-tools{gap:4px}.search-btn{padding:0 10px}}.search-btn{cursor:pointer}.search-dialog{width:min(640px,100% - 32px);max-height:min(560px,100vh - 120px);color:var(--fg);background:0 0;border:0;margin:12vh auto auto;padding:0;overflow:visible}.search-dialog::backdrop{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.search-box{border:1px solid var(--line-strong);background:var(--surface);max-height:inherit;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 40px 80px -20px #00000080}.search-input{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:14px 16px;display:flex}.search-input input{min-width:0;color:var(--fg);font:400 17px var(--font-body);background:0 0;border:0;outline:0;flex:1}.search-input input::-webkit-search-cancel-button{display:none}.search-input kbd{border:1px solid var(--line-strong);color:var(--muted);border-radius:4px;padding:2px 6px;font-size:11px}.search-results{padding:8px;overflow-y:auto}.search-results>ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.search-results a{border-radius:8px;gap:4px;padding:10px 12px;display:grid}.search-results a.on,.search-results a:hover{background:var(--surface-2)}.search-results b{font-size:15px;font-weight:600}.search-results span{color:var(--muted);font-size:13.5px;line-height:1.5}.search-results mark{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--fg);border-radius:3px;padding:0 2px}.search-sub{border-left:1px solid var(--line);margin:0 0 4px 12px;padding:0 0 0 10px;list-style:none}.search-sub a{color:var(--muted);padding:5px 10px;font-size:13.5px}.search-note{color:var(--muted);padding:18px 12px;font-size:14px}.search-note code{color:var(--fg);font-size:.9em}.lang-switch{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;margin-bottom:22px;padding:3px;font-size:13px;display:inline-flex}.lang-switch a{color:var(--muted);border-radius:6px;padding:5px 12px}.lang-switch a[aria-current=true]{background:var(--surface-2);color:var(--fg);box-shadow:0 0 0 1px var(--line-strong)}.mobile-docnav .lang-switch{margin:6px 0 14px}[lang=th] .prose{line-height:1.75}[lang=th] h1,[lang=th] h2,[lang=th] h3{letter-spacing:0;line-height:1.3}
