@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/f4b234103afdc32a-s.197tvtifbphtu.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/0b60d5f95c5f3f76-s.2e115y8-hourl.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/8056169c9d560660-s.p.41rroleoq1br7.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%}.roa7Sa_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.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/4f6667dd39116621-s.3p2_lha1f2xer.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/07935285219a259d-s.1qq4vpdcun5oj.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/f58031ded4338640-s.390ncx5urfkfu.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/77814b00d5ca94a4-s.21jp631_3pja2.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/605ce01b664af129-s.p.0wgildi0cnwt9.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%}._2RVLUa_className{font-family:Geist,Geist Fallback;font-style:normal}._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/b0c6b664fd57c2c6-s.31988l_ccedte.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/6e342921ee4dcd9d-s.2tuy5pz7dlieh.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/2bb852295097cd96-s.2dbetqa9o8jxf.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/9eb5a876700c0028-s.1uyisp29ctx0d.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/2a04751c893bf294-s.1rgnod-3esatf.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/07a39a8a4660cc7c-s.p.0r6juujl39pe6.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%}.lSkpWa_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.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/b4b14f44d63d21f2-s.09q3flbxo0w4e.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/81b01dcd824434dd-s.p.3u0t_c_yzgtgw.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/f34bcfed31234774-s.3fcxnszjbtksy.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/098adb8bb3c21377-s.09e83-4vqkr8v.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/3b79255d0fc0c0d8-s.2taqxaqrv3ssw.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/7a3b98edb52b34e8-s.p.3_xwflgq9fbqb.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/6464db7ff35a62d3-s.1x31jf7v-_3a0.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/a86bc8e8711b62bb-s.2t1pwrt0o-zp3.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/caa157f60f748efa-s.20mrlfyovr0p8.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/7c31128e26fc9cb0-s.p.2wx1mw4dt7_s5.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/1c119465040ff5bb-s.10770ssbdafq9.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/0b317410534a54bf-s.0xwse1x-bzy3s.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/661e8677aa162059-s.2m8zx_hq13x-4.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/087894984ee2963f-s.p.2_z8r5dfkst21.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/47a4972b6bd8620b-s.1nxoen_49_z0x.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/16cfcc00aea7f216-s.0oqt8towxai-k.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%}._9eQWFW_className{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}._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) 95%, 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{white-space:nowrap;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:1180px){.gh-pill span{display:none}.site-header .wrap{gap:20px}}@media (max-width:1240px){.search-btn{min-width:0}.search-btn span,.search-btn kbd{display:none}}@media (max-width:900px){.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)}}.perf-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;display:grid}.perf-stat{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column-reverse;justify-content:flex-end;gap:8px;padding:24px;display:flex}.perf-stat dd{font:600 clamp(32px, 3.6vw, 44px)/1.05 var(--font-body);letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums;margin:0}.perf-stat .unit{font:500 16px var(--font-mono);color:var(--accent);letter-spacing:0;margin-left:4px}.perf-stat dt{color:var(--muted);font-size:14.5px}.perf-setup{font:400 12.5px/1.6 var(--font-mono);color:var(--faint);margin-top:20px}.perf-limits{color:var(--muted);max-width:72ch;margin-top:8px;font-size:15px}@media (max-width:900px){.perf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.perf-stats{grid-template-columns:minmax(0,1fr)}}.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)}.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}.preview-note{border:1px solid color-mix(in srgb, var(--warn) 40%, var(--line));background:color-mix(in srgb, var(--warn) 7%, var(--surface));color:var(--fg);border-radius:10px;padding:10px 14px;font-size:14px}.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}.lang-pill{border:1px solid var(--line);min-width:40px;height:36px;font:500 13px var(--font-body);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.lang-pill:hover{color:var(--fg);border-color:var(--line-strong)}.why-menu{position:relative}.why-trigger{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:14.5px;transition:color .15s,background .15s;display:inline-flex}.why-trigger:hover,.why-trigger[aria-expanded=true]{color:var(--fg)}.why-trigger[data-current]{color:var(--fg);background:var(--surface-2)}.why-trigger svg{width:12px;height:12px;transition:transform .15s}.why-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.why-panel{z-index:30;border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;grid-template-columns:1.15fr 1fr;gap:8px 24px;width:600px;padding:20px;display:grid;position:absolute;top:calc(100% + 12px);left:0;box-shadow:0 30px 60px -24px #00000080}.why-panel[hidden]{display:none}.why-panel ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.why-panel ul a{color:var(--fg);white-space:normal;border-radius:8px;gap:2px;margin-inline:-10px;padding:8px 10px;font-size:14.5px;display:grid}.why-panel ul a:hover{background:var(--surface-2)}.why-panel ul a b{font-weight:550}.why-panel ul a span{color:var(--muted);font-size:13px}.why-panel-title{font:500 11.5px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:2px 0 10px}.why-panel .why-panel-all{color:var(--muted);margin-top:10px;padding:0;font-size:13.5px;display:inline-block}:lang(th) .why-panel-title{letter-spacing:0;font-family:var(--font-body);font-size:12.5px}.why-panel .why-panel-all:hover{color:var(--accent)}@media (max-width:900px){.nav{flex-wrap:wrap;overflow:visible}.why-menu{display:contents}.why-panel{width:100%;box-shadow:none;order:10;grid-template-columns:minmax(0,1fr);gap:16px;margin:4px 0 6px;padding:16px;position:static}}.why-hero{padding-block:80px 64px;position:relative;overflow:hidden}.why-hero:before{content:"";pointer-events:none;background:radial-gradient(55% 60% at 80% 0%, var(--glow), transparent 70%);position:absolute;inset:0}.why-hero .wrap{justify-items:start;gap:20px;display:grid;position:relative}.why-hero h1{letter-spacing:-.03em;max-width:20ch;font-size:clamp(38px,5.4vw,64px);font-weight:750;line-height:1.04}.why-hero .lede{color:var(--muted);max-width:60ch;font-size:19px}.why-crumb{color:var(--muted);font-size:14px}.why-crumb:hover{color:var(--accent)}.why-crumb:after{content:" /";color:var(--faint)}:lang(th) .why-hero h1,:lang(th) .section-head h2{letter-spacing:0;line-height:1.3}.why-points{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.why-point{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:10px;padding:28px 26px 30px;transition:background .2s;display:grid}.why-point:hover{background:var(--surface)}.why-point h3{font:600 17px/1.3 var(--font-body)}.why-point p{color:var(--muted);font-size:14.5px}.why-more{color:var(--accent);align-items:center;gap:6px;margin-top:4px;font-size:13.5px;display:inline-flex}.why-more svg{width:14px;height:14px}.why-points:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.why-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.why-cards.compare{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.why-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);align-content:start;gap:12px;padding:24px;transition:border-color .15s,background .15s;display:grid}.why-card:hover{border-color:var(--accent);background:var(--surface)}.why-card h3{font:600 19px/1.3 var(--font-display);letter-spacing:-.01em}.why-card p{color:var(--muted);font-size:14.5px}.why-card .why-more{margin-top:auto}.why-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:48px;display:grid}.why-problem h2,.why-notfit h2,.why-choose h2,.why-sources h2{margin-bottom:20px;font-size:clamp(26px,3vw,34px);font-weight:650}.why-problem ul,.why-notfit ul,.why-choose ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.why-problem li,.why-notfit li,.why-choose li{color:var(--muted);padding-left:28px;position:relative}.why-problem li:before{content:"";background:var(--faint);width:12px;height:2px;position:absolute;top:.7em;left:4px}.why-visual .editor .panel pre{font:400 13px/1.7 var(--font-mono);margin:0;padding:18px 20px;overflow-x:auto;background:0 0!important}.why-file{font:400 12.5px var(--font-mono);color:var(--code-dim);white-space:nowrap;padding:12px 16px;display:block}.why-notfit{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:32px}.why-notfit li:before{content:"–";color:var(--warn);position:absolute;left:6px}.compare-scroll{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.compare-table[data-cols="6"]{min-width:1100px}.compare-table[data-cols="2"]{min-width:560px}.compare-table th,.compare-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 16px}.compare-table tbody tr:last-child>*{border-bottom:0}.compare-table thead th{font:600 15px var(--font-display);background:var(--bg-2)}.compare-table tbody th{color:var(--fg);background:var(--bg-2);width:170px;font-weight:550}.compare-table td{color:var(--muted)}.compare-table .ours{background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--fg)}.compare-table thead .ours{color:var(--accent)}.why-choose{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.why-choose>div{border:1px solid var(--line);border-radius:var(--radius);padding:28px}.why-choose>.ours{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 5%, transparent)}.why-choose li:before{content:"✓";color:var(--faint);position:absolute;left:4px}.why-choose .ours li:before{color:var(--accent)}.why-sources p{color:var(--muted);max-width:70ch;font-size:14.5px}.why-sources ul{columns:2;gap:6px;margin:16px 0 0;padding-left:20px;font-size:14.5px;display:grid}.why-sources a{color:var(--accent)}.why-sources a:hover{text-decoration:underline}.why-cta{border-top:1px solid var(--line);background:var(--bg-2);padding-block:80px}.why-cta .wrap{justify-items:start;gap:18px;display:grid}.why-cta h2{font-size:clamp(30px,4vw,44px);font-weight:650}.why-cta p{color:var(--muted)}@media (max-width:920px){:is(.why-points,.why-points:has(>:nth-child(4):last-child)){grid-template-columns:repeat(2,minmax(0,1fr))}.why-cards{grid-template-columns:minmax(0,1fr)}.why-split{grid-template-columns:minmax(0,1fr);gap:32px}}@media (max-width:640px){:is(.why-points,.why-points:has(>:nth-child(4):last-child),.why-choose){grid-template-columns:minmax(0,1fr)}.why-hero{padding-block:56px 40px}.why-sources ul{columns:1}.why-notfit,.why-choose>div{padding:22px}.compare-table[data-cols="2"]{min-width:0;font-size:13.5px}.compare-table[data-cols="2"] th,.compare-table[data-cols="2"] td{padding:12px 10px}.compare-table[data-cols="2"] tbody th{width:28%}}.stability{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 5%, var(--bg-2));grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr);align-items:start;gap:12px 40px;margin:40px 0;padding:28px 32px;display:grid}.stability>div{justify-items:start;gap:10px;display:grid}.stability h3{font-size:24px;font-weight:650}.stability-badge{font:600 12px/1 var(--font-mono);color:var(--accent-ink);background:var(--accent);border-radius:5px;padding:5px 8px}.stability ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stability li{color:var(--muted);padding-left:26px;font-size:15px;position:relative}.stability li:before{content:"✓";color:var(--accent);position:absolute;left:2px}.stability .why-more{grid-column:2}.why-cta .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);place-items:center stretch;gap:32px 56px}.why-cta p{max-width:46ch;margin-top:14px}.why-cta-actions{justify-items:start;gap:16px;display:grid}.why-cta-actions .installer{width:100%}.why-ask{color:var(--muted);font-size:14px}.why-ask:hover{color:var(--accent)}@media (max-width:920px){.why-cta .wrap,.stability{grid-template-columns:minmax(0,1fr)}.stability .why-more{grid-column:auto}}@media (max-width:640px){.stability{padding:22px}}.hero h1 .nw{white-space:nowrap}:lang(th) .hero h1{letter-spacing:-.01em;line-height:1.15}.page-head .other-lang{color:var(--accent);justify-self:start;font-size:14px}.page-head .other-lang:hover{text-decoration:underline}:lang(th) .page-head h1,.article :lang(th) h1,:lang(th) .article h1{letter-spacing:-.01em;line-height:1.2}:lang(th) .prose{line-height:1.85}.article .prose>pre{color:var(--code-fg);border:1px solid var(--code-line);border-radius:10px;margin-block:1.2em;background:var(--code-bg)!important}.deploy-row{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.cta-row>.deploy-row{flex-basis:100%}.deploy-btn svg{width:14px;height:14px}.deploy-what{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;font-size:13.5px}.deploy-what:hover{color:var(--accent)}.deploy-row.compact{gap:8px 10px;margin-top:-10px}.deploy-row.compact .deploy-lead{color:var(--muted);font-size:13.5px}.deploy-row.compact .deploy-btn{border-radius:7px;height:32px;padding:0 12px;font-size:13.5px}.why-move{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 5%, var(--bg-2));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:22px 26px;display:flex}.why-move span{color:var(--fg);max-width:70ch}.why-move b{color:var(--accent);white-space:nowrap;font-weight:550}.why-move:hover{border-color:var(--accent)}.levels{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.levels>li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:10px;padding:24px 20px 26px;display:grid}.levels .num{font:500 12px/1 var(--font-mono);color:var(--faint);letter-spacing:.06em}.levels h3{font-size:18px;line-height:1.2}.levels p{color:var(--muted);font-size:14px;line-height:1.55}.state{font:500 12px/1 var(--font-mono);color:var(--muted);justify-self:start;align-items:center;gap:7px;display:inline-flex}.state:before{content:"";background:var(--warn);border-radius:50%;width:7px;height:7px}.state.done{color:var(--accent)}.state.done:before{background:var(--accent)}@media (max-width:1100px){.levels{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.levels{grid-template-columns:repeat(2,minmax(0,1fr))}.levels>li{padding:18px 14px}}.rm-facts{flex-wrap:wrap;gap:28px;margin-top:32px;display:flex}.rm-facts div{gap:6px;display:grid}.rm-facts dt{font:500 12px var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.rm-facts dd{font:600 26px/1 var(--font-display);letter-spacing:-.02em;margin:0}.ladder{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:8px;margin:0;padding:22px;list-style:none;display:grid}.ladder li{border:1px solid var(--line);background:var(--bg-2);border-radius:10px;grid-template-columns:28px minmax(0,1fr) 112px;align-items:center;gap:14px;padding:12px 14px;display:grid}.ladder li:nth-child(2){margin-left:16px}.ladder li:nth-child(3){margin-left:32px}.ladder li:nth-child(4){margin-left:48px}.ladder li:nth-child(5){margin-left:64px}.ladder li:nth-child(6){margin-left:80px}.ladder .num{font:500 13px var(--font-mono);color:var(--faint)}.ladder b{font:600 15px/1.3 var(--font-display);display:block}.ladder small{color:var(--muted);font-size:13px}@media (max-width:480px){.ladder li{grid-template-columns:22px minmax(0,1fr) 64px}}.lv{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.lv>li{border-bottom:1px solid var(--line);grid-template-columns:260px minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding:30px 0;display:grid}.lv .name{align-content:start;gap:10px;display:grid}.lv .name h3{font-size:22px}.lv h4{font:500 12px var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.lv ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lv ul li{color:var(--fg);padding-left:20px;font-size:15px;line-height:1.5;position:relative}.lv ul li:before{content:"";background:var(--accent);border-radius:2px;width:8px;height:2px;position:absolute;top:.6em;left:0}.lv .todo li:before{background:var(--line-strong)}.lv .todo li{color:var(--muted)}@media (max-width:900px){.lv>li{grid-template-columns:minmax(0,1fr);gap:16px}}.next-up{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.next-up article{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:start;gap:12px;padding:24px;display:grid}.next-up h3{font-size:18px}.next-up p{color:var(--muted);font-size:14.5px;line-height:1.55}.next-up .lvl{font:500 12px var(--font-mono);color:var(--accent)}.next-up .when{font:400 12.5px var(--font-mono);color:var(--faint);margin-top:4px}@media (max-width:1000px){.next-up{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.next-up{grid-template-columns:minmax(0,1fr)}}.seg-lang button[aria-pressed=true]{background:var(--surface-2);color:var(--fg);box-shadow:0 0 0 1px var(--line-strong)}.seg-lang button{font:500 13.5px var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 14px}h2 em.accent{color:var(--accent);font-style:normal}.ladder li{grid-template-columns:28px minmax(0,1fr) auto}.picker{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:24px;display:grid}.pick-list{gap:8px;display:grid}.pick{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:10px;gap:4px;padding:16px 18px;transition:border-color .15s,background .15s;display:grid}.pick b{font:600 16px/1.3 var(--font-display)}.pick span{color:var(--muted);font-size:13.5px}.pick:hover{border-color:var(--line-strong)}.pick[aria-selected=true]{border-color:var(--accent);background:var(--surface-2);box-shadow:0 0 0 3px var(--glow)}.pick-pane{gap:16px;display:grid}.pick-pane .float-code{width:auto;max-width:none;position:static;transform:none}.pick-pane .install-line{border-radius:10px}.pick-pane .install-line code{white-space:nowrap;overflow-x:auto}.tested{font:400 13.5px/1.6 var(--font-mono);color:var(--muted);margin-top:28px}.tested b{color:var(--fg);font-weight:500}@media (max-width:900px){.picker{grid-template-columns:minmax(0,1fr)}}.ai-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px;display:grid}.ai-split .section-head{margin:0}.ai-split .section-head .cta-row{margin-top:8px}.ai-chat{gap:14px;display:grid}.ai-ask{background:var(--surface-2);border:1px solid var(--line);border-radius:14px 14px 4px;justify-self:end;max-width:88%;padding:14px 18px}.ai-ask .who{font:500 12px var(--font-mono);color:var(--faint);margin-bottom:4px;display:block}.ai-ask p{font-size:15px;line-height:1.55}.ai-code{width:auto!important;max-width:none!important;position:static!important;transform:none!important}@media (max-width:900px){.ai-split{grid-template-columns:minmax(0,1fr);gap:28px}}.pick-pane[hidden]{display:none}.picker>*,.pick-pane,.pick-pane>*{min-width:0}.pick-pane .float-code pre{overflow-x:auto}.pick-cmd{background:var(--code-bg);border:1px solid var(--code-line);min-height:44px;color:var(--code-fg);font:400 13.5px/1.5 var(--font-mono);border-radius:10px;align-items:center;gap:10px;padding:10px 16px;display:flex;overflow-x:auto}.pick-cmd span{color:var(--code-dim)}.pick-cmd code{white-space:nowrap}.ai-split>*{min-width:0}.ai-code pre{overflow-x:auto}:root{--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1)}.rv{opacity:0;transform:translateY(14px)scale(.985)}.rv.in{opacity:1;transition:opacity .45s var(--ease-out), transform .45s var(--ease-spring);transition-delay:var(--d,0s);transform:none}.btn svg{transition:transform .2s var(--ease-out)}.btn:hover svg{transform:translate(3px)}.btn.primary{transition:background .15s, transform .15s var(--ease-out), box-shadow .2s}.btn.primary:hover{box-shadow:0 8px 22px -10px var(--accent);transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.feature{position:relative;overflow:hidden}.feature:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(260px circle at var(--x,50%) var(--y,50%), var(--glow), transparent 70%);transition:opacity .25s;position:absolute;inset:0}.feature:hover:before{opacity:1}.feature>svg{transition:transform .25s var(--ease-spring), color .2s}.feature:hover>svg{color:var(--accent);transform:translateY(-2px)scale(1.08)}.feature>*{position:relative}.typing .line{display:inline-block}.typing-ready .typing .line{opacity:0;transform:translate(-6px)}.typing-ready .typing .line.on{opacity:1;transition:opacity .3s, transform .3s var(--ease-out);transform:none}.caret:after{content:"";vertical-align:-2px;background:var(--accent);width:7px;height:1.05em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.pick{position:relative;overflow:hidden}.pick:before{content:"";background:var(--accent);width:3px;transition:transform .25s var(--ease-spring);border-radius:3px;position:absolute;top:10px;bottom:10px;left:0;transform:scaleY(0)}.pick[aria-selected=true]:before{transform:scaleY(1)}.pick:hover{transform:translate(2px)}.pick{transition:border-color .15s, background .15s, transform .2s var(--ease-out)}.pick-pane:not([hidden]){animation:pane-in .3s var(--ease-out)}@keyframes pane-in{0%{opacity:0;transform:translateY(8px)}}@keyframes shot-in{0%{opacity:.3;transform:scale(.992)}}.window{transition:box-shadow .3s}.window:hover{box-shadow:0 30px 70px -40px #00000073}.levels{position:relative}.levels>li{transition:background .2s, transform .25s var(--ease-out)}.levels>li:hover{background:var(--surface);transform:translateY(-2px)}.state.done:before{content:"✓";width:14px;height:14px;font:700 10px/1 var(--font-body);color:var(--accent-ink);place-items:center;display:inline-grid}@keyframes pop{0%{transform:scale(.4)}to{transform:none}}.ai-ask p.caret:after{background:var(--fg)}.replay{font:500 12.5px var(--font-mono);color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;justify-self:end;padding:6px 10px;transition:color .15s,border-color .15s}.replay:hover{color:var(--fg);border-color:var(--accent)}.hero{position:relative}.hero:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(520px circle at var(--hx,70%) var(--hy,30%), var(--glow), transparent 65%);transition:background .2s;position:absolute;inset:0}.hero>.wrap{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.rv,.typing .line{opacity:1!important;transform:none!important}.caret:after,.pick-pane:not([hidden]){animation:none!important}.btn.primary:hover,.levels>li:hover,.pick:hover{transform:none}.hero:after{display:none}}.logo{width:30px;height:30px;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:8px;flex:none;place-items:center;display:inline-grid}.logo img{object-fit:contain;width:18px;height:18px}.brandchip{white-space:nowrap;align-items:center;gap:10px;font-weight:500;display:inline-flex}.stack-logos ul{gap:14px 26px}.stack-logos li{align-items:center;display:flex}.stack-logos .logo{transition:transform .25s var(--ease-spring)}.stack-logos li:hover .logo{transform:translateY(-2px)rotate(-4deg)}.pick{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.pick-logos{display:flex}.pick-logos .logo+.logo{margin-left:-8px}.pick-logos .logo{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--line)}.pick-text{gap:4px;display:grid}.tested{border:1px dashed var(--line-strong);font:400 13.5px/1.6 var(--font-mono);color:var(--muted);border-radius:12px;gap:12px;margin-top:32px;padding:20px 22px;display:grid}.tested-logos{color:var(--fg);font:500 14px var(--font-body);flex-wrap:wrap;gap:10px 22px;display:flex}.works-with{flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:4px;font-size:14px;display:flex}.works-with>span:first-child{font:500 12px var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.foot-note{color:var(--faint);margin-top:10px;font-size:12.5px}.lightbox{border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;width:min(1200px,94vw);padding:0}.lightbox::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06120e9e}.lightbox img{width:100%;height:auto;display:block}.lightbox-close{border:1px solid var(--line-strong);background:var(--surface);width:36px;height:36px;color:var(--fg);cursor:pointer;border-radius:50%;font-size:20px;position:absolute;top:10px;right:10px}.spot-band{color:#e4eee9;--fg:#e4eee9;--muted:#9db3aa;--faint:#6f877e;--line:#213530;--line-strong:#2d4740;--surface:#13201c;--surface-2:#182823;--bg-2:#0f1916;--accent:#6fbfa5;--glow:#6fbfa52e;background:radial-gradient(900px 500px at 78% 30%,#6fbfa529,#0000 60%),radial-gradient(700px 420px at 10% 90%,#4f9e861f,#0000 60%),#08110e;position:relative;overflow:hidden}.spot-band:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(#6fbfa514 1px,#0000 1px),linear-gradient(90deg,#6fbfa514 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 70% 40%,#000 20%,#0000 70%);mask-image:radial-gradient(at 70% 40%,#000 20%,#0000 70%)}.spot-band .wrap{position:relative}.spot-band h2{color:#f2f7f4}.spot-band .section-head p{color:#a9bdb5}.spot{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:center;gap:40px;margin-top:8px;display:grid}.spot-list,.spot-tabs{gap:6px;display:grid}.spot-item{text-align:left;color:#c6d6cf;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:14px;padding:14px 16px;transition:background .2s,border-color .2s,color .2s;display:grid;position:relative}.spot-item svg{color:#6f877e;width:22px;height:22px;transition:color .2s, transform .3s var(--ease-spring);margin-top:1px}.spot-item b{font:600 16px/1.3 var(--font-display);color:#e4eee9;display:block}.spot-line{opacity:0;color:#a9bdb5;max-height:0;transition:max-height .35s var(--ease-out), opacity .25s, margin-top .25s;margin-top:0;font-size:14px;line-height:1.5;display:block;overflow:hidden}.spot-item:hover{background:#6fbfa50f}.spot-item[aria-selected=true]{background:#6fbfa51a;border-color:#6fbfa547}.spot-item[aria-selected=true] svg{color:#6fbfa5;transform:scale(1.1)}.spot-item[aria-selected=true] .spot-line{opacity:1;max-height:80px;margin-top:6px}.spot-item[aria-selected=true]:before{content:"";background:#6fbfa5;border-radius:3px;width:3px;position:absolute;top:12px;bottom:12px;left:-1px;box-shadow:0 0 12px #6fbfa5}.spot-list .seg-lang{background:#ffffff0a;border-color:#213530;justify-self:start;margin-top:14px}.spot-stage{position:relative}.spot-glow{z-index:0;filter:blur(30px);background:radial-gradient(closest-side,#6fbfa559,#0000);border-radius:40px;position:absolute;inset:8% 6% -6%}.spot-window{z-index:1;transform-origin:0;transition:transform .5s var(--ease-out);position:relative;transform:perspective(1600px)rotateY(-3deg)rotateX(1deg);box-shadow:0 40px 90px -40px #000000e6,0 0 0 1px #6fbfa52e}.spot-stage:hover .spot-window{transform:perspective(1600px)rotateY(0)rotateX(0)}.spot-frames{aspect-ratio:16/10;cursor:zoom-in;background:#0b1210;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.spot-frame{opacity:0;transition:opacity .45s var(--ease-out);position:absolute;inset:0}.spot-frame.on{opacity:1}.spot-frame img{object-fit:cover;object-position:0 0;width:100%;height:100%;transform:scale(var(--z));transform-origin:var(--o);transition:transform .9s var(--ease-out)}.spot-frame:not(.on) img{transform:scale(calc(var(--z) * 1.04))}.spot-callout{z-index:2;color:#e4eee9;font:500 13px var(--font-body);white-space:nowrap;opacity:0;transition:opacity .35s .25s, translate .45s .25s var(--ease-spring);background:#0f1916;border:1px solid #6fbfa58c;border-radius:999px;padding:8px 12px;position:absolute;transform:translate(-10%,-50%)translateY(8px);box-shadow:0 10px 30px -10px #000000b3,0 0 0 4px #6fbfa51f}.spot-frame.on .spot-callout{opacity:1;animation:4s ease-in-out 1s infinite float;translate:0}@keyframes float{50%{translate:0 -5px}}@media (max-width:960px){.spot{grid-template-columns:minmax(0,1fr)}.spot-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.spot-line{display:none}.spot-window{transform:none}}@media (max-width:520px){.spot-tabs{grid-template-columns:minmax(0,1fr)}.spot-callout{font-size:12px}}@media (prefers-reduced-motion:reduce){.spot-window,.spot-stage:hover .spot-window{transform:none}.spot-frame.on .spot-callout{animation:none}.spot-frame img,.spot-frame:not(.on) img{transform:scale(var(--z));transition:none}}.menu-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--fg);cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:none}.menu-btn svg{width:20px;height:20px}.menu-btn path{transition:transform .2s var(--ease-out), opacity .15s;transform-origin:12px 12px}.site-header.open .menu-btn .m1{transform:translateY(5px)rotate(45deg)}.site-header.open .menu-btn .m2{opacity:0}.site-header.open .menu-btn .m3{transform:translateY(-5px)rotate(-45deg)}@media (max-width:900px){.site-header .wrap{height:var(--header-h);flex-wrap:nowrap;padding-block:0}.site-header .header-tools{margin-left:auto}.menu-btn{display:inline-grid}.site-header .nav{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;order:0;gap:2px;width:auto;margin:0;padding:8px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 24px 40px -28px #00000059}.site-header.open .nav{animation:menu-in .18s var(--ease-out);display:flex}.site-header .nav a{padding:12px;font-size:16px}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}@media (max-width:520px){.install-line{gap:8px;font-size:13px}.install-line .copy-btn span{display:none}}.stack .wrap{row-gap:28px}.proof{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin:0;padding-top:24px;display:grid}.proof>div{flex-direction:column-reverse;gap:6px;padding-right:20px;display:flex}.proof>div+div{border-left:1px solid var(--line);padding-left:24px}.proof dd{font:600 30px/1 var(--font-display);letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums;margin:0}.proof dt{color:var(--muted);font-size:13.5px}.proof-link{color:var(--accent);align-items:center;gap:6px;font-size:14px;display:inline-flex}.proof-link svg{width:14px;height:14px;transition:transform .2s var(--ease-out)}.proof-link:hover svg{transform:translate(3px)}@media (max-width:760px){.proof{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.proof>div:nth-child(3){border-left:0;padding-left:0}}.feat-group{grid-template-columns:200px minmax(0,1fr);gap:32px;display:grid}.feat-group+.feat-group .features{border-top:0}.feat-label{padding-top:30px}.feat-group+.feat-group .feat-label{border-top:0}.feat-label h3{font:500 12px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.feat-label p{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.5}a.feature{color:inherit;text-decoration:none}.feature h4{font:600 17px/1.3 var(--font-body);letter-spacing:-.005em;margin:0}.feature .go{color:var(--accent);opacity:0;transition:opacity .2s, transform .2s var(--ease-out);position:absolute;top:28px;right:24px;transform:translate(-4px)}.feature .go svg{width:16px;height:16px}a.feature:hover .go,a.feature:focus-visible .go{opacity:1;transform:none}@media (max-width:1000px){.feat-group{grid-template-columns:minmax(0,1fr);gap:14px}.feat-group+.feat-group{margin-top:32px}.feat-group+.feat-group .features{border-top:1px solid var(--line)}.feat-label{flex-wrap:wrap;align-items:baseline;gap:12px;padding-top:0;display:flex}.feat-label p{margin:0}.features{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.features{grid-template-columns:minmax(0,1fr)}.feature{grid-template-columns:22px minmax(0,1fr);gap:4px 14px;padding:16px 40px 16px 16px}.feature>svg{grid-row:span 2;margin-top:1px}.feature p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.feature .go{opacity:1;color:var(--faint);margin-top:-8px;top:50%;right:14px;transform:none}}.levels{border:0;gap:0;padding-top:4px}.levels:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 30%, var(--line)));border-radius:2px;height:2px;position:absolute;top:13px;left:10px;right:10px}.levels>li{border:0;gap:10px;padding:0 22px 0 0}.levels>li:hover{background:0 0}.levels .dot{z-index:1;border:2px solid var(--accent);background:linear-gradient(90deg, var(--accent) 50%, var(--bg) 50%);border-radius:50%;width:20px;height:20px;margin-bottom:14px;position:relative}.levels li.done .dot{background:var(--accent);box-shadow:inset 0 0 0 3px var(--bg)}.levels li.is-next .dot{animation:2.4s ease-in-out infinite lv-glow}@keyframes lv-glow{0%,to{box-shadow:0 0 0 4px var(--glow), 0 0 10px color-mix(in srgb, var(--accent) 50%, transparent)}50%{box-shadow:0 0 0 9px var(--glow), 0 0 22px color-mix(in srgb, var(--accent) 70%, transparent)}}.state.is-next{color:var(--fg)}.state.is-next:before{background:var(--accent);box-shadow:0 0 0 3px var(--glow)}@media (max-width:1100px){.levels{grid-template-columns:minmax(0,1fr);max-width:620px}.levels:before{background:linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 30%, var(--line)));width:2px;height:auto;inset:10px auto 30px 9px}.levels>li{grid-template-columns:20px minmax(0,1fr);gap:6px 18px;padding:0 0 26px}.levels>li>:not(.dot){grid-column:2}.levels .dot{grid-row:1/span 4;margin:0}}.band-tint{background:color-mix(in srgb, var(--accent) 7%, var(--bg));border-block:1px solid color-mix(in srgb, var(--accent) 18%, var(--line))}.band-tint .perf-stat{background:var(--bg)}.band-tint .perf-stat dd{font-size:clamp(36px,3.9vw,52px)}.fname-r{align-items:center;gap:10px;display:inline-flex}.fname .replay{color:var(--code-dim);border-color:var(--code-line);justify-self:auto;padding:3px 8px;font-size:11.5px}.fname .replay:hover{color:var(--code-fg)}.faq-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px;display:grid}.faq-split .section-head{top:calc(var(--header-h) + 32px);margin:0;position:sticky}.faq-split .section-head a{color:var(--accent)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font:600 17px/1.35 var(--font-body);justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:var(--accent)}.faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.faq .plus{flex:none;width:14px;height:14px;position:relative}.faq .plus:before,.faq .plus:after{content:"";height:2px;transition:transform .25s var(--ease-out);background:currentColor;border-radius:2px;position:absolute;top:6px;left:0;right:0}.faq .plus:after{transform:rotate(90deg)}.faq details[open] .plus:after{transform:rotate(0)}.faq details p{color:var(--muted);max-width:62ch;margin:0;padding:0 4px 22px;font-size:15.5px;line-height:1.65}.faq details[open] p{animation:faq-in .25s var(--ease-out)}@keyframes faq-in{0%{opacity:0;transform:translateY(-4px)}}@media (max-width:900px){.faq-split{grid-template-columns:minmax(0,1fr);gap:24px}.faq-split .section-head{position:static}}@media (prefers-reduced-motion:reduce){.levels li.is-next .dot,.site-header.open .nav,.faq details[open] p{animation:none!important}.levels li.is-next .dot{box-shadow:0 0 0 6px var(--glow)}}.rm-climb{padding-block:88px 72px;overflow:hidden}.rm-climb:before{-webkit-mask-image:radial-gradient(at 50% 20%,#000 10%,#0000 60%);mask-image:radial-gradient(at 50% 20%,#000 10%,#0000 60%)}.climb-head{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:48px;display:grid}.rm-climb h1{letter-spacing:-.035em;color:#f2f7f4;margin-top:18px;font-size:clamp(40px,5.8vw,76px);line-height:1}.rm-climb h1 em{color:var(--accent);font-style:normal}.rm-climb .lede{color:#a9bdb5;margin:0;font-size:17px;line-height:1.6}.rm-climb .rm-facts dd{color:#f2f7f4}.mtn{aspect-ratio:1200/520;margin-top:40px;position:relative}.mtn-art{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.camps{margin:0;padding:0;list-style:none}.camp{left:var(--x);top:var(--y);width:0;height:0;position:absolute}.camp a{color:inherit;text-decoration:none;position:absolute;top:0;left:0}.camp .pin{width:30px;height:30px;font:600 13px/1 var(--font-mono);color:var(--accent);border:2px solid var(--accent);transition:transform .2s var(--ease-out), box-shadow .2s;background:#08110e linear-gradient(90deg,#6fbfa573 50%,#0000 50%);border-radius:50%;place-items:center;display:grid;position:absolute;top:-15px;left:-15px}.camp .pin svg{width:15px;height:15px}.camp.done .pin{background:var(--accent);color:#08110e}.camp.is-next .pin{background:#08110e;animation:2.4s ease-in-out infinite lv-glow}.camp .tag{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(6px);min-width:168px;transition:border-color .2s, transform .2s var(--ease-out);white-space:nowrap;background:#08110eb8;border-radius:12px;gap:3px;padding:10px 14px 11px;display:grid;position:absolute;bottom:22px;right:18px}.camp.side-r .tag{inset:-24px auto auto 22px}.camp .tn{font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.camp .tag b{font:600 15px/1.25 var(--font-display);color:#f2f7f4}.camp .state{font-size:11.5px}.camp.is-next .tag{border-color:color-mix(in srgb, var(--accent) 60%, transparent);box-shadow:0 0 0 4px var(--glow)}.camp a:hover .tag,.camp a:focus-visible .tag{border-color:var(--accent);transform:translateY(-2px)}.camp a:hover .pin,.camp a:focus-visible .pin{transform:scale(1.12)}.camp a:focus-visible{outline:none}.camp a:focus-visible .pin{box-shadow:0 0 0 3px #08110e, 0 0 0 5px var(--accent)}.mtn-legend{font:400 12.5px var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:10px 26px;margin-top:22px;display:flex}.mtn-legend .lg{align-items:center;gap:8px;display:inline-flex}.mtn-legend .lg:before{content:"";border:2px solid var(--accent);box-sizing:border-box;border-radius:50%;width:12px;height:12px}.mtn-legend .done:before{background:var(--accent)}.mtn-legend .is-next:before{box-shadow:0 0 0 3px var(--glow)}.mtn-legend .prog:before{background:linear-gradient(90deg, var(--accent) 50%, transparent 50%)}.mtn-legend .flag:before{background:0 0;border:0;border-top:2px dashed #e4eee9;border-left:2px solid #e4eee9;border-radius:0;width:12px;height:10px}.rm-climb .ladder{display:none}.rm-climb.anim .trail{stroke-dasharray:1;stroke-dashoffset:1px}.rm-climb.anim.go .trail{stroke-dashoffset:0;transition:stroke-dashoffset 2.2s cubic-bezier(.45,0,.2,1) .2s}.rm-climb.anim .camp a{opacity:0;transform:translateY(6px)}.rm-climb.anim.go .camp a{opacity:1;transition:opacity .45s, transform .45s var(--ease-out);transition-delay:calc(.45s + var(--i) * .33s);transform:none}.rm-climb.anim .summit-flag{opacity:0}.rm-climb.anim.go .summit-flag{opacity:1;transition:opacity .6s 2.4s}.lv>li{scroll-margin-top:calc(var(--header-h) + 24px)}.lv .pin{width:30px;height:30px;font:600 13px/1 var(--font-mono);color:var(--accent);border:2px solid var(--accent);background:linear-gradient(90deg, var(--glow) 50%, transparent 50%);border-radius:50%;place-items:center;display:grid}.lv li.done .pin{background:var(--accent);color:var(--accent-ink)}.lv li.is-next .pin{animation:2.4s ease-in-out infinite lv-glow}.lv>li{isolation:isolate;position:relative}.lv>li:target:before{content:"";z-index:-1;pointer-events:none;border-radius:var(--radius);background:linear-gradient(90deg, var(--glow), color-mix(in srgb, var(--glow) 25%, transparent) 80%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent), inset 3px 0 0 var(--accent);position:absolute;inset:-1px -16px}.summit{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:radial-gradient(70% 90% at 0% 0%, var(--glow), transparent 60%), var(--surface);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px;padding:56px;display:grid}.summit .section-head{margin:0}.vows{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.vows li{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);gap:6px 12px;padding:22px 0;display:grid}.vows span{font:500 13px/1.6 var(--font-mono);color:var(--accent);grid-row:span 2}.vows h3{font-size:18px}.vows p{color:var(--muted);font-size:15px;line-height:1.55}@media (max-width:1000px){.climb-head,.summit{grid-template-columns:minmax(0,1fr);gap:24px}.summit{padding:32px 22px}.camp .tag{min-width:0;padding:7px 10px}.camp .tag b{font-size:13px}.camp .tn,.camp .tag .state{display:none}}@media (max-width:760px){.rm-climb{padding-block:56px 48px}.mtn{margin-inline:-16px;margin-top:28px}.camp .tag{display:none}.camp .pin{width:24px;height:24px;font-size:11px;top:-12px;left:-12px}.camp .pin svg{width:12px;height:12px}.mtn-legend{display:none}.rm-climb .ladder{margin-top:24px;padding:8px;display:grid}.rm-climb .ladder li{background:0 0}}@media (prefers-reduced-motion:reduce){.camp.is-next .pin,.lv li.is-next .pin{box-shadow:0 0 0 5px var(--glow);animation:none}}.vs-wrap{margin-top:8px;padding-top:18px}.vs{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.vs thead th,.vs thead td{text-align:left;font:600 15px/1.2 var(--font-display);color:var(--muted);vertical-align:bottom;border-bottom:1px solid var(--line-strong);padding:18px 16px 16px}.vs thead td{width:27%}.vs tbody th{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:22px 20px 22px 0}.vs tbody th b{font:600 16.5px/1.3 var(--font-body);color:var(--fg);display:block}.vs tbody th span{color:var(--muted);margin-top:4px;font-size:13.5px;font-weight:400;display:block}.vs td{vertical-align:top;border-bottom:1px solid var(--line);color:var(--muted);padding:22px 16px;font-size:13.5px;line-height:1.45}.vs td .vs-t{margin-top:8px;display:block}.vs tbody tr{transition:background .2s}.vs tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.vs .us{background:color-mix(in srgb, var(--accent) 8%, var(--bg));border-left:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);border-right:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);position:relative}.vs thead th.us{color:var(--fg);border-top:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);border-radius:14px 14px 0 0;padding-top:30px;font-size:17px}.vs tbody tr:last-child td.us{border-bottom:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);border-radius:0 0 14px 14px}.vs-wrap{position:relative}.vs td.us{color:var(--fg);font-weight:500}.us-tag{background:var(--accent);color:var(--accent-ink);font:600 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:4px 9px;position:absolute;top:-11px;left:14px}.vs-wrap:before{content:"";z-index:-1;pointer-events:none;width:14.6%;box-shadow:0 30px 60px -30px color-mix(in srgb, var(--accent) 55%, transparent), 0 0 0 8px var(--glow);border-radius:18px;position:absolute;top:0;bottom:0;left:27%}.mk{border-radius:50%;place-items:center;width:26px;height:26px;display:inline-grid}.mk svg{width:14px;height:14px}.mk.yes{background:var(--accent);color:var(--accent-ink)}.mk.part{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}.mk.no{background:var(--surface-2);color:var(--faint)}.mk.unk{color:var(--faint);border:1.5px dashed var(--line-strong);background:0 0}.vs td.us .mk.yes{box-shadow:0 0 0 4px var(--glow)}.vs tr.in td.us .mk.yes,.vs.in td.us .mk.yes{animation:pop .5s var(--ease-spring)}.vs-foot{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 32px;margin-top:28px;display:grid}.vs-tally{color:var(--fg);margin:0;font-size:17px}.vs-tally b{color:var(--accent)}.vs-note{color:var(--faint);grid-column:1;margin:0;font-size:13px}.vs-foot .btn{grid-area:1/2/span 2}@media (max-width:860px){.vs-wrap:before{display:none}.vs,.vs tbody,.vs tr,.vs td,.vs tbody th{width:auto;display:block}.vs thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.vs tbody tr{border:1px solid var(--line);background:var(--bg);border-radius:14px;margin-bottom:14px;padding:18px 16px 8px}.vs tbody tr:hover{background:var(--bg)}.vs tbody th{border:0;padding:0 0 14px}.vs td{border-bottom:0;border-top:1px solid var(--line);grid-template-columns:86px 26px minmax(0,1fr);align-items:center;column-gap:10px;padding:9px 0;display:grid}.vs td:before{content:attr(data-name);font:500 13px var(--font-body);color:var(--fg)}.vs td .vs-t{margin:0}.vs td.us,.vs tbody tr:last-child td.us{border:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);border-radius:10px;margin-bottom:6px;padding:10px 12px}.vs td.us:before{color:var(--accent);font-weight:700}.vs td.us+td{border-top:0}.vs-foot{grid-template-columns:minmax(0,1fr)}.vs-foot .btn{grid-area:auto/1;justify-self:start;margin-top:10px}}@media (prefers-reduced-motion:reduce){.vs td.us .mk.yes{animation:none!important}}.rm-climb .ladder li{margin-left:0}.hero h1{text-wrap:balance;font-size:clamp(40px,5vw,62px)}.hero h1>span,.hero h1 em{white-space:normal}.hero h1 em{display:block}.hero-copy{grid-template-columns:minmax(0,1fr)}.hero-copy>*{min-width:0}.why-hero-big{padding-block:96px 80px}.why-hero-big h1{max-width:22ch;font-size:clamp(40px,5.6vw,70px)}.why-hero-big h1 em{color:var(--accent);margin-top:10px;font-size:.62em;font-style:normal;line-height:1.15;display:block}.why-hero-big .cta-row{margin-top:8px}.stitch{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.stitch-side{border:1px solid var(--line);border-radius:16px;align-content:start;gap:14px;padding:26px;display:grid}.stitch-side.usual{background:var(--bg-2);border-style:dashed;border-color:var(--line-strong)}.stitch-side.ours{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));background:radial-gradient(90% 80% at 100% 0%, var(--glow), transparent 60%), var(--surface);box-shadow:0 30px 60px -40px color-mix(in srgb, var(--accent) 60%, transparent)}.stitch-label{color:var(--muted);margin:0;font-size:14px}.stitch-label b{font:600 18px/1.3 var(--font-display);color:var(--fg);display:block}.stitch-side.usual ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.stitch-side.usual li{border:1px solid var(--line);background:var(--bg);border-radius:10px;gap:2px;padding:12px 14px;display:grid;position:relative}.stitch-side.usual li:nth-child(odd){transform:rotate(-.8deg)}.stitch-side.usual li:nth-child(2n){transform:rotate(.6deg)translateY(4px)}.stitch-side.usual li b{font:600 14.5px/1.3 var(--font-body)}.stitch-side.usual li span{color:var(--muted);font-size:12.5px}.stitch-side.usual li i{font:500 10.5px var(--font-mono);color:var(--warn);background:var(--bg);border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));border-radius:99px;padding:2px 7px;font-style:normal;position:absolute;top:-8px;right:10px}.stitch-arrow{color:var(--accent);place-items:center;display:grid}.stitch-arrow svg{width:28px;height:28px}.stitch-file{background:var(--code-bg);border:1px solid var(--code-line);border-radius:12px;overflow:hidden}.stitch-file ul{gap:10px;margin:0;padding:14px 16px 16px;list-style:none;display:grid}.stitch-file li{color:var(--code-dim);grid-template-columns:22px minmax(0,auto) minmax(0,1fr);align-items:center;gap:10px;font-size:13.5px;display:grid}.stitch-file li code{font:500 13.5px var(--font-mono);color:var(--code-fg);background:0 0;padding:0}.stitch-check{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);font:700 11px/1 var(--font-body);border-radius:50%;place-items:center;display:inline-grid}.stitch-total{font:600 15px var(--font-mono);color:var(--faint);margin:0}.stitch-side.ours .stitch-total{color:var(--accent)}@media (max-width:900px){.stitch{grid-template-columns:minmax(0,1fr)}.stitch-arrow{height:32px;transform:rotate(90deg)}}@media (max-width:520px){.stitch-side.usual ul{grid-template-columns:minmax(0,1fr)}.stitch-side{padding:18px}}.reasons{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.reason{border:1px solid var(--line);background:var(--surface);color:inherit;transition:border-color .2s, transform .2s var(--ease-out), box-shadow .2s;border-radius:14px;align-content:start;gap:10px;padding:26px 24px 24px;display:grid;position:relative}.reason:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 20px 40px -30px #0006}.reason>svg{width:24px;height:24px;color:var(--accent)}.reason-num{font:500 12px var(--font-mono);color:var(--faint);position:absolute;top:22px;right:22px}.reason h3{font:600 18px/1.3 var(--font-display);letter-spacing:-.01em}.reason p{color:var(--muted);font-size:14.5px;line-height:1.55}.reason-proof{font:500 12px var(--font-mono);color:var(--accent);background:var(--glow);border-radius:99px;justify-self:start;margin-top:4px;padding:4px 10px}.reason .why-more{margin-top:6px}@media (max-width:1000px){.reasons{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.reasons{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.reason:hover{transform:none}}.why-wins{border:1.5px solid color-mix(in srgb, var(--accent) 50%, var(--line));background:radial-gradient(70% 90% at 0% 0%, var(--glow), transparent 60%), var(--surface);border-radius:18px;padding:32px}.why-wins h2{margin-bottom:20px;font-size:clamp(24px,2.8vw,32px);font-weight:650}.why-wins ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.why-wins li{background:var(--bg);border:1px solid var(--line);border-radius:12px;align-content:start;gap:10px;padding:18px;font-size:15px;line-height:1.55;display:grid}.why-wins-num{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);font:600 12px var(--font-mono);border-radius:50%;place-items:center;display:inline-grid}@media (max-width:860px){.why-wins ol{grid-template-columns:minmax(0,1fr)}.why-wins{padding:22px}}.why-choose-them{grid-template-columns:minmax(0,1fr)}.compare-table .ours{background:color-mix(in srgb, var(--accent) 10%, transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--accent) 55%, transparent), inset -2px 0 0 color-mix(in srgb, var(--accent) 55%, transparent);font-weight:500}.compare-table thead .ours{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg-2))}.why-panel-lead{background:var(--glow);color:var(--fg);border-radius:10px;grid-column:1/-1;gap:2px;margin-bottom:6px;padding:12px 14px;display:grid}.why-panel-lead b{color:var(--accent);font-weight:600}.why-panel-lead span{color:var(--muted);font-size:13px}.why-panel-lead:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.pl-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-bottom:8px;display:flex}.pl-filter{flex-wrap:wrap;gap:8px;display:flex}.pl-filter button{border:1px solid var(--line);background:var(--bg);height:38px;color:var(--muted);font:500 14px var(--font-body);cursor:pointer;border-radius:99px;align-items:center;gap:8px;padding:0 14px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.pl-filter button span{font:500 12px var(--font-mono);color:var(--faint)}.pl-filter button:hover{border-color:var(--line-strong);color:var(--fg)}.pl-filter button[aria-pressed=true]{border-color:var(--accent);color:var(--fg);background:var(--glow)}.pl-filter button[aria-pressed=true] span{color:var(--accent)}.pl-search{border:1px solid var(--line);background:var(--bg-2);min-width:240px;height:40px;color:var(--fg);font:400 15px var(--font-body);border-radius:10px;padding:0 14px}.pl-search:focus{outline:2px solid var(--accent);outline-offset:1px}.pl-none{color:var(--muted);margin:32px 0}.pl-group{margin-top:44px}.pl-group-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:16px;padding-bottom:12px;display:flex}.pl-group-head h2{font:650 22px/1.2 var(--font-display);letter-spacing:-.01em}.pl-group-head p{color:var(--muted);margin:0;font-size:14.5px}.pl-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pl-card{border:1px solid var(--line);background:var(--surface);color:inherit;transition:border-color .2s, transform .2s var(--ease-out), box-shadow .2s;border-radius:14px;align-content:start;gap:8px;padding:22px;display:grid}.pl-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 20px 40px -30px #00000073}.pl-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pl-card-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pl-icon{background:var(--glow);width:40px;height:40px;color:var(--accent);border-radius:10px;place-items:center;display:inline-grid}.pl-icon svg{width:22px;height:22px}.pl-icon.big{border-radius:14px;width:56px;height:56px}.pl-icon.big svg{width:30px;height:30px}.pl-status{font:500 11.5px var(--font-mono);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:99px;padding:3px 9px}.pl-status.exp{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.pl-card h3{font:600 18px/1.3 var(--font-display);letter-spacing:-.01em}.pl-card code{font:400 12.5px var(--font-mono);color:var(--faint);overflow-wrap:anywhere;background:0 0;padding:0}.pl-card p{color:var(--muted);margin:2px 0 0;font-size:14.5px;line-height:1.55}.pl-dl{border-top:1px solid var(--line);color:var(--faint);margin-top:8px;padding-top:12px;font-size:13px}.pl-dl b{font:600 15px var(--font-mono);color:var(--fg);font-variant-numeric:tabular-nums}.pl-note{color:var(--faint);margin-top:28px;font-size:13px}.pl-adapters{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.pl-adapters h3{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:12px}.pl-adapters ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pl-adapters a{border:1px solid var(--line);color:inherit;border-radius:10px;gap:3px;padding:12px 14px;transition:border-color .15s,background .15s;display:grid}.pl-adapters a:hover{border-color:var(--accent);background:var(--surface)}.pl-adapters code{font:500 13px var(--font-mono);overflow-wrap:anywhere;background:0 0;padding:0}.pl-adapters span{color:var(--muted);font-size:13px}@media (max-width:1000px){.pl-cards,.pl-adapters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.pl-cards,.pl-adapters{grid-template-columns:minmax(0,1fr)}.pl-search{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.pl-card:hover{transform:none}}.pl-title{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pl-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 24px;font-size:14px;display:flex}.pl-meta code{font:500 14px var(--font-mono);background:var(--surface-2);border-radius:8px;padding:4px 10px}.pl-meta b{font:600 15px var(--font-mono);color:var(--fg)}.pl-detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.pl-detail h2{margin-bottom:18px;font-size:clamp(24px,2.6vw,30px);font-weight:650}.pl-features{gap:12px;margin:0;padding:0;list-style:none;display:grid}.pl-features li{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px 16px 14px 46px;line-height:1.5;position:relative}.pl-features li:before{content:"✓";background:var(--accent);width:20px;height:20px;color:var(--accent-ink);font:700 11px/1 var(--font-body);border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;left:14px}.pl-side{top:calc(var(--header-h) + 24px);gap:12px;display:grid;position:sticky}.pl-side h3{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-top:8px}.pl-code{width:auto!important;max-width:none!important;position:static!important;transform:none!important}.pl-code pre{overflow-x:auto}.pl-spark{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:12px 0 0;padding:16px}.pl-spark svg{width:100%;height:64px;display:block}.pl-spark .line{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.pl-spark .area{fill:var(--glow);stroke:none}.pl-spark figcaption{color:var(--muted);margin-top:10px;font-size:13px}.pl-spark b{font-family:var(--font-mono);color:var(--fg)}@media (max-width:900px){.pl-detail{grid-template-columns:minmax(0,1fr)}.pl-side{position:static}}.pl-extra{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:radial-gradient(80% 90% at 100% 0%, var(--glow), transparent 60%), var(--bg-2);border-radius:16px;margin-top:36px;padding:26px}.pl-extra h2{margin-bottom:8px}.pl-extra>p{color:var(--muted);margin:0 0 18px;line-height:1.6}.pl-extra .pl-features li{background:var(--bg)}.pl-extra .why-more{margin-top:16px;display:inline-flex}.pl-builtin{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line));background:radial-gradient(70% 90% at 0% 0%, var(--glow), transparent 60%), var(--bg-2);border-radius:18px;padding:30px}.pl-builtin-head{gap:8px;margin-bottom:22px;display:grid}.pl-builtin-count{font:500 12px var(--font-mono);color:var(--accent-ink);background:var(--accent);border-radius:99px;justify-self:start;padding:4px 10px}.pl-builtin-head h2{font:650 clamp(24px, 2.8vw, 32px)/1.2 var(--font-display);letter-spacing:-.01em}.pl-builtin-head p{color:var(--muted);margin:0}.pl-builtin ul{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pl-builtin a{border:1px solid var(--line);background:var(--bg);height:100%;color:inherit;transition:border-color .15s, transform .2s var(--ease-out);border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.pl-builtin a:hover{border-color:var(--accent);transform:translateY(-1px)}.pl-builtin a svg{width:20px;height:20px;color:var(--accent);margin-top:1px}.pl-builtin b{font:600 14.5px/1.3 var(--font-body);display:block}.pl-builtin small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.45;display:block}@media (max-width:620px){.pl-builtin{padding:20px}.pl-builtin ul{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.pl-builtin a:hover{transform:none}}.pl-h1>span,.pl-h1 em{display:block}.pl-h1>span{white-space:nowrap}.pl-h1 em{color:var(--accent);font-style:normal}@media (max-width:520px){.pl-h1>span{white-space:normal}}.hero-dark{color:var(--fg);padding-bottom:96px}.hero-dark:before{-webkit-mask-image:radial-gradient(at 75% 45%,#000 15%,#0000 65%);mask-image:radial-gradient(at 75% 45%,#000 15%,#0000 65%)}.hero-dark .lede{color:#a9bdb5}.hero-dark .lede code{color:#e4eee9;background:#ffffff0f}.hero-dark .hero-meta{color:var(--muted)}.hero-dark .badge,.hero-dark .btn:not(.primary){background:#ffffff0a}.hero-dark .btn:not(.primary):hover{border-color:var(--accent)}.hero-dark img.shot.only-light{display:none!important}.hero-dark img.shot.only-dark{display:block!important}.hero-dark .hero-visual .window{z-index:1;position:relative;box-shadow:0 40px 90px -40px #000000e6,0 0 0 1px #6fbfa533}.hero-dark .hero-visual .float-code{z-index:2}.hero-net{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-net svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hn-line{fill:none;stroke:#6fbfa5;stroke-opacity:.6;stroke-width:1.5px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.hn-end{fill:#08110e;stroke:#6fbfa5;stroke-width:1.6px}.hn-pulse{opacity:.95}.hn-chip{z-index:3;white-space:nowrap;font:500 12px var(--font-mono);color:#c8f0e1;background:#08110ed9;border:1px solid #6fbfa573;border-radius:99px;padding:5px 11px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #6fbfa514}@media (max-width:1100px){.hero-net{display:none}}@media (prefers-reduced-motion:reduce){.hn-pulse{display:none}}.hero-dark{--accent-ink:#08110e}.hero-dark .btn.primary{color:#08110e}.hero-dark .btn.primary:hover{background:#8fd3bc}.cw{right:max(20px, env(safe-area-inset-right,0px));bottom:max(20px, env(safe-area-inset-bottom,0px));z-index:40;justify-items:end;gap:12px;display:grid;position:fixed}body:has(.site-header.open) .cw{display:none}.cw-button{background:var(--accent);height:52px;color:var(--accent-ink);font:600 15px var(--font-body);cursor:pointer;box-shadow:0 14px 34px -12px color-mix(in srgb, var(--accent) 70%, transparent), 0 2px 6px #00000026;transition:padding .25s var(--ease-out), transform .2s var(--ease-out), box-shadow .2s;border:0;border-radius:99px;align-items:center;gap:10px;padding:0 20px 0 16px;display:inline-flex}.cw-button svg{flex:none;width:22px;height:22px}.cw-button:hover{transform:translateY(-2px)}.cw-button:focus-visible{outline:3px solid var(--fg);outline-offset:3px}.cw-label{white-space:nowrap;max-width:160px;transition:max-width .25s var(--ease-out), opacity .2s;overflow:hidden}.cw-button.compact,.cw.is-open .cw-button{justify-content:center;gap:0;width:52px;padding:0}.cw-button.compact .cw-label,.cw.is-open .cw-label{opacity:0;max-width:0}.cw-panel{border:1px solid var(--line-strong);background:var(--bg);width:min(400px,100vw - 32px);max-height:min(640px,100dvh - 120px);animation:cw-in .2s var(--ease-out);transform-origin:100% 100%;border-radius:16px;padding:20px;overflow-y:auto;box-shadow:0 30px 70px -20px #00000073}@keyframes cw-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.cw-head{justify-content:space-between;gap:12px;display:flex}.cw-head h2{font:650 20px/1.25 var(--font-display);letter-spacing:-.01em}.cw-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.cw-close{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;font-size:20px;line-height:1}.cw-close:hover{color:var(--fg);border-color:var(--line-strong)}.cw-links{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 16px;margin:14px 0 16px;padding-bottom:14px;font-size:13.5px;display:flex}.cw-links a{color:var(--accent)}.cw-form{gap:6px;display:grid}.cw-form label{font:500 13.5px var(--font-body);color:var(--fg);margin-top:8px}.cw-form select,.cw-form textarea,.cw-form input{border:1px solid var(--line-strong);background:var(--bg-2);width:100%;min-height:44px;color:var(--fg);font:400 15px/1.45 var(--font-body);border-radius:10px;padding:10px 12px}.cw-form textarea{resize:vertical;min-height:104px}.cw-form select:focus,.cw-form textarea:focus,.cw-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.cw-form [aria-invalid=true]{border-color:var(--danger,#c0392b)}.cw-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cw-row>div{gap:6px;display:grid}.cw-hint{background:var(--glow);color:var(--muted);border-radius:10px;margin:6px 0 0;padding:10px 12px;font-size:13px;line-height:1.5}.cw-hint a{color:var(--accent);font-weight:500}.cw-error{color:var(--danger,#c0392b);margin:2px 0 0;font-size:13px}.cw-status{color:var(--muted);margin:8px 0 0;font-size:14px}.cw-status.error{color:var(--danger,#c0392b)}.cw-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.cw-turnstile{min-height:65px;margin-top:8px}.cw-send{justify-content:center;width:100%;margin-top:12px}.cw-send:disabled{opacity:.55;cursor:not-allowed}.cw-privacy{color:var(--faint);margin:8px 0 0;font-size:12.5px;line-height:1.5}.cw-privacy a{color:var(--muted);text-decoration:underline}.cw-done{justify-items:start;gap:12px;padding:8px 0;display:grid}.cw-done-mark{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);font:700 18px var(--font-body);border-radius:50%;place-items:center;display:grid}.cw-done p{margin:0;font-size:15.5px;line-height:1.55}@media (max-width:560px){.cw{right:16px;bottom:max(16px, env(safe-area-inset-bottom,0px))}.cw.is-open{justify-items:stretch;gap:0;bottom:0;left:0;right:0}.cw.is-open .cw-button{display:none}.cw-panel{width:auto;max-height:88dvh;padding:20px 16px max(20px, env(safe-area-inset-bottom,0px));border-bottom:0;border-radius:18px 18px 0 0;animation-name:cw-up}.cw-row{grid-template-columns:minmax(0,1fr)}}@keyframes cw-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.cw-panel{animation:none}.cw-button,.cw-label{transition:none}.cw-button:hover{transform:none}}.cw-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7d76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:40px;line-height:1.4}.cw-form select:hover{border-color:var(--accent)}.cw-form option{background:var(--bg);color:var(--fg)}:root[data-theme=dark] .cw-form select,:root[data-theme=dark] .cw-form input,:root[data-theme=dark] .cw-form textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cw-form select,:root:not([data-theme=light]) .cw-form input,:root:not([data-theme=light]) .cw-form textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}
