@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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}.lk-diagram{overscroll-behavior-x:contain;scrollbar-width:thin;margin:0;overflow-x:auto}.lk-diagram svg{width:100%;min-width:600px;height:auto;font-family:var(--d-font,ui-sans-serif, system-ui, sans-serif);display:block}.d text{fill:var(--d-fg)}.d .d-t{letter-spacing:-.01em;font-size:15px;font-weight:600}.d .d-s{fill:var(--d-muted);font-size:12.5px;font-weight:400}.d .d-s-accent{fill:var(--d-accent);font-weight:600}.d .d-mono,.d .d-l{font-family:var(--d-mono,ui-monospace, Menlo, monospace)}.d .d-mono{fill:var(--d-accent);font-size:13px;font-weight:600}.d .d-l{fill:var(--d-fg);font-size:11.5px}.d .d-l-muted{fill:var(--d-muted)}.d .d-l-wg{fill:var(--d-ok)}.d .d-fl{letter-spacing:.12em;text-transform:uppercase;fill:var(--d-muted);font-size:11px;font-weight:600}.d .d-note{fill:var(--d-fg);font-size:15px;font-weight:600}.d .d-note-muted{fill:var(--d-muted);font-size:12.5px;font-weight:400}.d .d-pill{fill:var(--d-pill);stroke:var(--d-line)}.d .d-box{fill:var(--d-box);stroke:var(--d-line)}.d .d-box-accent{stroke:var(--d-accent-line)}.d .d-box-ok{stroke:var(--d-ok-line)}.d .d-box-leader{stroke:var(--d-accent);stroke-width:1.5px}.d .d-frame{fill:var(--d-frame);stroke:var(--d-line)}.d .d-frame-accent{stroke:var(--d-accent-line)}.d .d-frame-dashed{stroke-dasharray:5 5}.d .d-store{fill:var(--d-box);stroke:var(--d-accent-line)}.d .d-store-lid{fill:none;stroke:var(--d-accent-line)}.d .d-head{fill:var(--d-edge)}.d .d-edge{fill:none;stroke:var(--d-edge);stroke-width:1.5px}.d .d-edge-dashed{stroke-dasharray:4 5}.d .d-edge-wg{stroke:var(--d-ok-line);stroke-dasharray:2 5;stroke-linecap:round}.d .d-ready{fill:var(--d-ok)}.d .d-leader-ring{fill:none;stroke:var(--d-accent);stroke-width:1px;opacity:0;transform-box:fill-box;transform-origin:50%}.d .d-comet{fill:none;stroke:none;stroke-width:2.5px;stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.is-animated .d .d-comet{stroke:var(--d-accent);stroke-dasharray:7 93;stroke-dashoffset:100px;animation:2.6s linear infinite d-comet;animation-delay:var(--delay,0s)}.is-animated .d .d-comet-wg{stroke:var(--d-ok);animation-duration:3.4s}.is-animated .d .d-comet-fast{animation-duration:1.3s}.is-animated .d .d-pulse{animation:2.4s ease-in-out infinite d-pulse;animation-delay:var(--delay,0s);transform-box:fill-box;transform-origin:50%}.is-animated .d .d-leader-ring{animation:2.6s ease-out infinite d-ring}.is-paused .d *{animation-play-state:paused!important}}@keyframes d-comet{to{stroke-dashoffset:0}}@keyframes d-pulse{50%{opacity:.45;transform:scale(.7)}}@keyframes d-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.18,1.4)}}:root{--font-display:"Space Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--ease-fluid:cubic-bezier(.32, .72, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--radius:16px;--wrap:1180px;--gutter:clamp(16px, 4vw, 32px);--bg:#0c0b12;--bg-2:#12111a;--surface:#ffffff08;--surface-2:#ffffff0e;--line:#ffffff14;--line-2:#ffffff26;--fg:#f4f3f8;--fg-2:#b4b2c3;--fg-3:#8d8a9e;--accent:#a78bfa;--accent-2:#c4b5fd;--accent-ink:#160b33;--accent-soft:#a78bfa24;--ok:#4ade80;--warn:#fbbf24;--err:#f87171;--grid:#ffffff0b;--glow-1:#7c3aed61;--glow-2:#38bdf824;--term-bg:#1e1e2e;--term-fg:#e4e4ec;--term-dim:#8b90a5;--shadow:0 30px 80px -30px #000000bf, 0 0 0 1px #ffffff0f;--word-dim:#f4f3f866;color-scheme:dark;--d-fg:var(--fg);--d-muted:var(--fg-3);--d-line:var(--line-2);--d-edge:#ffffff47;--d-box:#15141e;--d-pill:#1a1924;--d-frame:#ffffff04;--d-accent:var(--accent);--d-accent-line:#a78bfa80;--d-ok:var(--ok);--d-ok-line:#4ade8080;--d-font:var(--font-sans);--d-mono:var(--font-mono)}:root[data-theme=light]{--bg:#fbfaff;--bg-2:#f3f1fa;--surface:#14102806;--surface-2:#1410280d;--line:#14102817;--line-2:#14102829;--fg:#14121f;--fg-2:#4a4760;--fg-3:#625e78;--accent:#6d28d9;--accent-2:#5b21b6;--accent-ink:#fff;--accent-soft:#6d28d917;--ok:#15803d;--warn:#b45309;--err:#b91c1c;--grid:#1410280d;--glow-1:#8b5cf638;--glow-2:#0ea5e91a;--shadow:0 30px 70px -35px #28145a73, 0 0 0 1px #14102814;--word-dim:#14121f73;color-scheme:light;--d-edge:#14102852;--d-box:#fff;--d-pill:#f4f2fb;--d-frame:#6d28d905;--d-accent-line:#6d28d973;--d-ok-line:#15803d73}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#fbfaff;--bg-2:#f3f1fa;--surface:#14102806;--surface-2:#1410280d;--line:#14102817;--line-2:#14102829;--fg:#14121f;--fg-2:#4a4760;--fg-3:#625e78;--accent:#6d28d9;--accent-2:#5b21b6;--accent-ink:#fff;--accent-soft:#6d28d917;--ok:#15803d;--warn:#b45309;--err:#b91c1c;--grid:#1410280d;--glow-1:#8b5cf638;--glow-2:#0ea5e91a;--shadow:0 30px 70px -35px #28145a73, 0 0 0 1px #14102814;--word-dim:#14121f73;color-scheme:light;--d-edge:#14102852;--d-box:#fff;--d-pill:#f4f2fb;--d-frame:#6d28d905;--d-accent-line:#6d28d973;--d-ok-line:#15803d73}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--fg);font:400 1rem/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}img,svg{max-width:100%}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent);color:var(--accent-ink)}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:.1em .35em;font-size:.85em}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-weight:600;line-height:1.08}p{margin:0}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:10px;padding:8px 14px;font-weight:600;text-decoration:none;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}section{scroll-margin-top:64px;position:relative}.section{padding-block:clamp(72px,12vw,148px)}.eyebrow{font:600 .75rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:18px;height:1px}.h2{max-width:18ch;margin-top:14px;font-size:clamp(2rem,4.6vw,3.4rem)}.lead{color:var(--fg-2);max-width:62ch;margin-top:18px;font-size:clamp(1rem,1.6vw,1.125rem)}.section-head{margin-bottom:clamp(36px,6vw,64px)}.btn{--h:46px;height:var(--h);border:1px solid var(--line-2);background:var(--surface);color:var(--fg);font:600 .95rem/1 var(--font-sans);cursor:pointer;transition:transform .4s var(--ease-fluid), background .3s, border-color .3s, box-shadow .4s;border-radius:999px;align-items:center;gap:10px;padding:0 20px;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--surface-2);border-color:var(--fg-3)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 30px -10px var(--accent), inset 0 1px 0 #ffffff40;border-color:#0000}.btn-primary:hover{background:var(--accent-2);box-shadow:0 14px 38px -10px var(--accent), inset 0 1px 0 #ffffff40}.btn .arrow{transition:transform .45s var(--ease-fluid)}.btn:hover .arrow{transform:translate(4px)}.btn:hover .arrow-up{transform:translate(2px,-2px)}.copy{border:1px solid var(--line);height:30px;color:var(--fg-3);font:500 .75rem/1 var(--font-sans);cursor:pointer;background:0 0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.copy:hover{color:var(--fg);border-color:var(--line-2);background:var(--surface)}.copy .i-check{display:none}.copy.is-copied{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.copy.is-copied .i-copy{display:none}.copy.is-copied .i-check{display:inline}.cmd{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 80%, transparent);font:500 .875rem/1.4 var(--font-mono);border-radius:14px;align-items:center;gap:12px;max-width:100%;padding:8px 8px 8px 16px;display:flex}.cmd code{all:unset;white-space:nowrap;scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.cmd code::-webkit-scrollbar{display:none}.cmd .pr{color:var(--accent);user-select:none}.nav{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s,backdrop-filter .3s;position:sticky;top:0}.nav.is-scrolled{background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom-color:var(--line)}.nav-inner{align-items:center;gap:20px;height:64px;display:flex}.brand{font:700 1.2rem/1 var(--font-display);letter-spacing:-.03em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand svg{width:28px;height:28px;transition:transform .7s var(--ease-fluid)}.brand:hover svg{transform:rotate(120deg)}.nav-links{margin-left:auto;gap:4px;margin-block:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--fg-2);border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:block}.nav-links a:hover{color:var(--fg);background:var(--surface-2)}.nav-actions{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--line);width:38px;height:38px;color:var(--fg-2);cursor:pointer;transition:color .2s, background .2s, border-color .2s, transform .4s var(--ease-fluid);background:0 0;border-radius:999px;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{color:var(--fg);background:var(--surface-2);border-color:var(--line-2)}.icon-btn svg{width:18px;height:18px}.theme-toggle .sun{display:none}:root[data-theme=light] .theme-toggle .sun{display:block}:root[data-theme=light] .theme-toggle .moon,.menu-toggle{display:none}@media (width<=860px){.nav-links{padding:8px var(--gutter) 16px;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s, transform .4s var(--ease-fluid), visibility .3s;flex-direction:column;gap:0;position:absolute;inset:64px 0 auto;transform:translateY(-8px)}.nav-links a{border-radius:8px;padding:12px 4px;font-size:1rem}.nav.is-open .nav-links{opacity:1;pointer-events:auto;visibility:visible;transform:none}.nav.is-open{background:var(--bg)}.menu-toggle{display:inline-grid}.nav-actions{margin-left:auto}.nav-gh{display:none}}.bg-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:top;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%)}.glow{z-index:-1;pointer-events:none;filter:blur(60px);will-change:transform;border-radius:50%;position:absolute}.glow-1{aspect-ratio:1.4;background:radial-gradient(closest-side, var(--glow-1), transparent);width:min(720px,90vw);top:-260px;left:50%;translate:-50%}.glow-2{aspect-ratio:1;background:radial-gradient(closest-side, var(--glow-2), transparent);width:min(520px,70vw);top:120px;right:-120px}@media (prefers-reduced-motion:no-preference){.glow-1{animation:18s ease-in-out infinite alternate drift}.glow-2{animation:22s ease-in-out infinite alternate-reverse drift}}@keyframes drift{to{transform:translate(40px,30px)scale(1.08)}}.hero{text-align:center;isolation:isolate;padding-top:clamp(48px,9vw,104px);overflow-x:clip}.badge{border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:500 .78rem/1 var(--font-mono);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;text-decoration:none;transition:border-color .3s,color .3s;display:inline-flex}.badge:hover{border-color:var(--line-2);color:var(--fg)}.badge .dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 25%, transparent);border-radius:50%}.hero{--intro:0s}.intro{display:none}@media (prefers-reduced-motion:no-preference){.motion.play-intro .hero{--intro:1.22s}.motion.play-intro .intro{display:block}}.hero-title{position:relative}.intro{--size:104px;--roll:-960deg;--dur:1.5s;pointer-events:none;z-index:2;position:absolute;inset:0}@media (width<=640px){.intro{--size:68px;--roll:-480deg}}.intro-car{width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);animation:intro-car var(--dur) both;will-change:transform;position:absolute;top:50%;left:50%}.intro-wheel{width:100%;height:100%;animation:intro-wheel var(--dur) both;will-change:transform;filter:drop-shadow(0 10px 24px #7c3aed73)}.intro-shadow{height:14%;animation:intro-shadow var(--dur) both;background:radial-gradient(closest-side,#00000073,#0000);border-radius:50%;position:absolute;bottom:-14%;left:12%;right:12%}:root[data-theme=light] .intro-shadow{background:radial-gradient(closest-side,#28145a40,#0000)}.intro-ghost{animation-name:intro-car,intro-ghost;animation-duration:var(--dur), var(--dur);animation-delay:calc(var(--g) * 26ms);opacity:0}.intro-ghost .intro-wheel{animation-delay:calc(var(--g) * 26ms);filter:none}.intro-lines{height:0;position:absolute;top:50%;left:50%;right:-10vw}.intro-lines i{width:46vw;height:2px;left:0;top:calc((var(--i) - 2) * var(--size) * .2);background:linear-gradient(90deg, transparent, var(--accent) 70%, var(--accent-2));transform-origin:0;opacity:0;animation:intro-line var(--dur) both;animation-delay:calc(var(--i) * 18ms);border-radius:2px;position:absolute}.intro-lines i:nth-child(odd){width:34vw;height:1px}@keyframes intro-car{0%{transform:translateX(calc(-50vw - var(--size)));animation-timing-function:cubic-bezier(.22,.61,.36,1)}56%{animation-timing-function:cubic-bezier(.45,0,.55,1);transform:translate(0)}68%{transform:translateX(calc(var(--size) * -.16)) scale(.97, 1.03);animation-timing-function:cubic-bezier(.75,0,.9,.3)}to{transform:translateX(calc(50vw + var(--size) * 2)) scale(1.5, .78)}}@keyframes intro-wheel{0%{transform:rotate(var(--roll));animation-timing-function:cubic-bezier(.22,.61,.36,1)}56%{animation-timing-function:cubic-bezier(.45,0,.55,1);transform:rotate(0)}68%{animation-timing-function:cubic-bezier(.75,0,.9,.3);transform:rotate(-30deg)}to{transform:rotate(840deg)}}@keyframes intro-shadow{0%,66%{opacity:1}80%,to{opacity:0}}@keyframes intro-ghost{0%,70%{opacity:0}78%{opacity:calc(.5 - var(--g) * .12)}to{opacity:0}}@keyframes intro-line{0%,70%{opacity:0;transform:scaleX(0)}84%{opacity:.9;transform:scaleX(1)}to{opacity:0;transform:translate(46vw)scaleX(.15)}}.hero h1{letter-spacing:-.045em;margin-top:28px;font-size:clamp(2.5rem,8vw,5.75rem);line-height:1}.hero h1 .line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.hero h1 .line>span{display:inline-block}.hero h1 .accent{background:linear-gradient(100deg, var(--accent) 10%, var(--accent-2) 50%, var(--accent) 90%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero .lead{text-wrap:pretty;margin:26px auto 0}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;display:flex}.hero-install{justify-content:center;margin-top:22px;display:flex}.hero-install .cmd{width:min(100%,470px)}.hero-shot{perspective:1400px;max-width:980px;margin:clamp(48px,8vw,80px) auto 0}.hero-shot .tilt{transform-origin:50% 0}.demo-caption{color:var(--fg-3);margin-top:18px;font-size:.85rem}.demo-caption a{color:var(--fg-2);text-underline-offset:3px}@media (prefers-reduced-motion:no-preference){.motion .hero h1 .line>span{animation:rise 1.2s var(--ease-out) both;animation-delay:calc(var(--intro) + 80ms + var(--i) * .12s)}.motion .hero [data-in]{animation:fade-up 1s var(--ease-out) both;animation-delay:calc(var(--intro) + .45s + var(--i,0) * 80ms)}.motion .hero-shot{animation:shot-in 1.4s var(--ease-out) both;animation-delay:calc(var(--intro) + .7s)}@supports (animation-timeline:view()){.motion .hero-shot .tilt{animation:linear both tilt view();animation-range:entry 10% cover 45%}}}@keyframes rise{0%{transform:translateY(110%)}}@keyframes fade-up{0%{opacity:0;filter:blur(8px);transform:translateY(24px)}}@keyframes shot-in{0%{opacity:0;transform:translateY(80px)scale(.96)}}@keyframes tilt{0%{transform:rotateX(14deg)scale(.94)}to{transform:none}}.term{text-align:left;background:var(--term-bg);color:var(--term-fg);box-shadow:var(--shadow);font:400 clamp(.7rem, 1.6vw, .875rem)/1.65 var(--font-mono);border-radius:18px;position:relative;overflow:hidden}.term:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(120% 60% at 50% -10%,#a78bfa24,#0000 60%);position:absolute;inset:0}.term-bar{border-bottom:1px solid #ffffff12;align-items:center;gap:14px;padding:10px 12px 10px 16px;display:flex;position:relative}.term-dots{flex:none;gap:7px;display:flex}.term-dots i{background:#3b3b4f;border-radius:50%;width:11px;height:11px}.term-dots i:first-child{background:#ff5f57}.term-dots i:nth-child(2){background:#febc2e}.term-dots i:nth-child(3){background:#28c840}.term-tabs{scrollbar-width:none;gap:2px;min-width:0;display:flex;overflow-x:auto}.term-tabs::-webkit-scrollbar{display:none}.term-tab{color:var(--term-dim);font:500 .78rem/1.2 var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:5px 11px;transition:color .2s,background .2s;position:relative}.term-tab:hover{color:var(--term-fg)}.term-tab[aria-selected=true]{color:#fff;background:#ffffff14}.term-tab .prog{transform-origin:0;background:#a78bfa;border-radius:2px;height:2px;position:absolute;bottom:1px;left:10px;right:10px;transform:scaleX(0)}.term-meta{color:var(--term-dim);flex:none;align-items:center;gap:10px;margin-left:auto;font-size:.75rem;display:flex}.term-clock{font-variant-numeric:tabular-nums;opacity:0;transition:opacity .3s}.term-clock.is-on{opacity:1}.term-clock.is-done{color:#4ade80}.term-replay{width:28px;height:28px;color:var(--term-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.term-replay:hover{color:#fff;background:#ffffff14}.term-replay svg{width:15px;height:15px}.term-body{height:clamp(300px,46vw,430px);padding:18px 20px 22px;position:relative;overflow:hidden}.term-scene[hidden]{display:none}.ln{white-space:pre-wrap;word-break:break-word;min-height:1.65em}.ln .p{color:#a78bfa;user-select:none}.ln .c,.term .c{color:#a78bfa}.ln.out{color:var(--term-fg)}.term .ok{color:#4ade80}.term .dim{color:var(--term-dim)}.term .err{color:#f87171}.ln+.ln.cmdline{margin-top:6px}.caret{vertical-align:-.2em;background:#a78bfa;width:.6em;height:1.15em;margin-left:1px;display:inline-block}@media (prefers-reduced-motion:no-preference){.caret{animation:1.05s step-end infinite blink}.caret.is-typing{animation:none}}@keyframes blink{50%{opacity:0}}.term-ui{border-radius:10px;margin-top:10px;overflow:hidden}.term-ui img{border-radius:10px;width:auto;max-width:100%;height:clamp(190px,34vw,330px);display:block}.motion .term-ui.is-new{animation:ui-in .8s var(--ease-out) both}@keyframes ui-in{0%{opacity:0;filter:blur(6px);transform:translateY(12px)scale(.98)}}@media (width<=560px){.term-body{padding:14px 14px 18px}.term-dots{display:none}}@media (prefers-reduced-motion:no-preference){.motion [data-reveal]{opacity:0;filter:blur(10px);transition:opacity 1s var(--ease-out), transform 1.1s var(--ease-out), filter 1s var(--ease-out);transition-delay:calc(var(--d,0) * 80ms);transform:translateY(3rem)}.motion [data-reveal].is-in{opacity:1;filter:none;transform:none}}.strip{padding-block:clamp(40px,7vw,72px) 0}.strip-label{text-align:center;color:var(--fg-3);margin-bottom:18px;font-size:.85rem}.marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee-track{flex:none;gap:12px;margin:0;padding-left:0;padding-right:12px;list-style:none;display:flex}.marquee-track li{border:1px solid var(--line);background:var(--surface);color:var(--fg-2);font:500 .9rem/1 var(--font-mono);white-space:nowrap;border-radius:999px;flex:none;padding:9px 16px}@media (prefers-reduced-motion:no-preference){.marquee-track{animation:38s linear infinite marquee}.marquee:hover .marquee-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.marquee{justify-content:center;-webkit-mask-image:none;mask-image:none}.marquee-track{flex-wrap:wrap;flex:1;justify-content:center}.marquee-track[aria-hidden]{display:none}}@keyframes marquee{to{transform:translate(-100%)}}.tagline{padding-block:clamp(88px,14vw,180px)}.tagline p{font:600 clamp(1.6rem, 4.2vw, 3.1rem)/1.18 var(--font-display);letter-spacing:-.03em;text-wrap:balance;max-width:26ch;margin-top:22px}.tagline .w{transition:color .5s var(--ease-out)}.js-scrub .tagline .w{color:var(--word-dim)}.js-scrub .tagline .w.lit{color:var(--fg)}.js-scrub .tagline .w.hl.lit{color:var(--accent)}.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=820px){.numbers-grid{grid-template-columns:minmax(0,1fr)}}.card{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);isolation:isolate;transition:border-color .3s, background .3s, transform .5s var(--ease-fluid);padding:clamp(18px,2.6vw,26px);position:relative;overflow:hidden}.card:after{content:"";z-index:-1;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 60%);transition:opacity .4s;position:absolute;inset:0}.card:hover{border-color:var(--line-2)}.card:hover:after{opacity:1}.metric-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.metric-label{font:600 1.02rem/1.3 var(--font-display);letter-spacing:-.01em}.metric-note{color:var(--fg-3);margin-top:4px;font-size:.82rem}.metric-src{color:var(--fg-3);font:500 .72rem/1 var(--font-mono);border:1px solid var(--line);border-radius:8px;flex:none;align-items:center;gap:4px;padding:6px 8px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.metric-src:hover{color:var(--accent);border-color:var(--accent)}.metric-big{font:600 clamp(2.2rem, 5vw, 3rem)/1 var(--font-display);letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums;margin-top:18px}.metric-big small{color:var(--fg-2);letter-spacing:0;margin-left:4px;font-size:.42em;font-weight:500}.bars{gap:9px;margin:18px 0 0;padding:0;list-style:none;display:grid}.bar{grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:12px;font-size:.8rem;display:grid}@media (width<=420px){.bar{grid-template-columns:6.5rem minmax(0,1fr)}}.bar-name{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{align-items:center;gap:8px;min-width:0;display:flex}.bar-fill{height:10px;width:max(4px, calc((100% - 5.5rem) * var(--f)));background:var(--fg-3);opacity:.55;transform-origin:0;transition:transform 1.3s var(--ease-out);transition-delay:calc(var(--d,0) * 90ms + .15s);border-radius:0 4px 4px 0;flex:none}.bar.us .bar-fill{background:var(--accent);opacity:1;box-shadow:0 0 16px var(--accent-soft)}.bar.us .bar-name{color:var(--fg);font-weight:600}.bar-val{color:var(--fg-2);font:500 .78rem/1 var(--font-mono);white-space:nowrap;font-variant-numeric:tabular-nums}.bar.us .bar-val{color:var(--fg)}@media (prefers-reduced-motion:no-preference){.motion .metric:not(.is-in) .bar-fill{transform:scaleX(0)}}.scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}@media (width<=820px){.scores{grid-template-columns:minmax(0,1fr)}}.score{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.ring{width:96px;height:96px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:3.2px}.ring .bgc{stroke:var(--line-2)}.ring .fgc{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--pct));transition:stroke-dashoffset 1.6s var(--ease-out) .2s}@media (prefers-reduced-motion:no-preference){.motion .metric:not(.is-in) .ring .fgc{stroke-dashoffset:100px}}.score .metric-big{margin-top:6px}.score .ref{color:var(--fg-3);font:500 .78rem/1 var(--font-mono);margin-top:8px}.footnote{color:var(--fg-3);max-width:80ch;margin-top:26px;font-size:.88rem}.footnote a{color:var(--fg-2);text-underline-offset:3px}.story-item{border-top:1px solid var(--line)}.story-item:last-child{border-bottom:1px solid var(--line)}.story-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;font:600 clamp(1.1rem, 2vw, 1.35rem)/1.2 var(--font-display);letter-spacing:-.02em;color:var(--fg-3);align-items:center;gap:14px;padding:18px 4px;transition:color .3s;display:flex}.story-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.story-num{font:500 .75rem/1 var(--font-mono);color:var(--fg-3);width:2ch}.story-dot{background:var(--line-2);border-radius:50%;width:8px;height:8px;margin-left:auto;transition:background .3s,box-shadow .3s}.story-body{grid-template-rows:1fr;display:grid}.story-body>div{overflow:hidden}.story-body p{color:var(--fg-2);max-width:56ch;padding:0 4px 18px 34px}.story-more{color:var(--accent);align-items:center;gap:6px;margin:-6px 0 20px 34px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.story-more:hover .arrow{transform:translate(3px)}.story-more .arrow{transition:transform .3s var(--ease-fluid)}.story-item.active .story-btn,.story-item.active .story-num{color:var(--fg)}.story-item.active .story-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.panel{background:var(--term-bg);color:var(--term-fg);box-shadow:var(--shadow);font:400 .82rem/1.75 var(--font-mono);border-radius:18px;overflow:hidden}.panel-bar{color:var(--term-dim);border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:10px 14px;font-size:.75rem;display:flex}.panel-bar i{background:#3b3b4f;border-radius:50%;width:9px;height:9px}.panel pre{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0;padding:18px 20px 22px}.panel img{width:100%;height:auto;display:block}.panel .c{color:#a78bfa}.panel .ok{color:#4ade80}.panel .dim{color:#8b90a5}.panel .err{color:#f87171}.story-inline{margin:0 0 22px 34px}.story-inline .panel pre{white-space:pre;font-size:.75rem;overflow-x:auto}@media (width<=560px){.story-inline{margin-left:0}.story-body p,.story-more{margin-left:0;padding-left:0}}.story-stage{display:none}@media (width>=1024px){.story{height:calc(var(--n) * 62vh + 100svh)}.story-sticky{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px;height:calc(100svh - 64px);display:grid;position:sticky;top:64px}.story-head{margin-bottom:18px}.story-head .h2{font-size:clamp(1.8rem,2.8vw,2.5rem)}.story-btn{padding:11px 4px;font-size:1.15rem}.story-inline{display:none}.story-body{opacity:0;visibility:hidden;transition:grid-template-rows .6s var(--ease-fluid), opacity .4s, visibility 0s .6s;grid-template-rows:0fr}.story-item.active .story-body{opacity:1;visibility:visible;grid-template-rows:1fr;transition-delay:0s}.story-stage{height:min(62vh,520px);display:block;position:relative}.story-panel{opacity:0;filter:blur(8px);pointer-events:none;transition:opacity .7s var(--ease-fluid), transform .7s var(--ease-fluid), filter .7s var(--ease-fluid);flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0;transform:translateY(24px)scale(.98)}.story-panel.active{opacity:1;filter:none;pointer-events:auto;transform:none}.story-progress{background:var(--line);border-radius:2px;height:2px;position:absolute;bottom:-28px;left:0;right:0;overflow:hidden}.story-progress i{background:var(--accent);transform:scaleX(var(--p,0));transform-origin:0;position:absolute;inset:0}.panel{font-size:.9rem}}.tabs{scrollbar-width:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.tab{color:var(--fg-2);cursor:pointer;font:600 .88rem/1 var(--font-sans);transition:color .25s, background .35s var(--ease-fluid);background:0 0;border:0;border-radius:999px;flex:none;padding:9px 16px;position:relative}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--accent-ink);background:var(--accent)}.how-panels{margin-top:28px}.how-panel{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:center;gap:clamp(20px,4vw,48px);display:grid}.how-panel[hidden]{display:none}.how-panel .lk-diagram{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:clamp(10px,2vw,24px)}.how-panel p{color:var(--fg-2);font-size:1.02rem}.how-panel .btn{margin-top:22px}@media (prefers-reduced-motion:no-preference){.motion .how-panel:not([hidden]){animation:fade-up .7s var(--ease-out) both}}@media (width<=900px){.how-panel{grid-template-columns:minmax(0,1fr)}}.scroll-hint{color:var(--fg-3);margin-top:8px;font-size:.75rem;display:none}@media (width<=640px){.scroll-hint{display:block}}.install-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.install-grid{grid-template-columns:minmax(0,1fr)}}.install-card h3{margin-bottom:14px;font-size:1.15rem}.install-card .tabs{margin-bottom:14px}.install-card .tab{padding:8px 13px;font-size:.82rem}.notes{color:var(--fg-2);gap:10px;margin:16px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.notes li{padding-left:18px;position:relative}.notes li:before{content:"";background:var(--accent);border-radius:2px;width:6px;height:6px;position:absolute;top:.6em;left:2px}.quick{position:relative}.quick .copy{z-index:1;color:#8b90a5;border-color:#ffffff1a;position:absolute;top:10px;right:12px}.quick .copy:hover{color:#fff;background:#ffffff0f}.quick pre{padding-right:90px}.quick .ln-c{color:#8b90a5}.server-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex}.server-row p{color:var(--fg-2);max-width:60ch;font-size:.92rem}.server-row strong{color:var(--fg)}.table-wrap{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px 18px}thead th{font:600 .72rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);background:var(--surface)}tbody th{color:var(--fg);width:24%;font-weight:600}tbody td{color:var(--fg-2)}tbody tr:last-child>*{border-bottom:0}tbody tr{transition:background .2s}tbody tr:hover{background:var(--surface)}.yes{color:var(--ok);font-weight:600}.no{color:var(--fg-3)}.table-note{color:var(--fg-3);margin-top:16px;font-size:.88rem}.limits-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=980px){.limits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.limits-grid{grid-template-columns:minmax(0,1fr)}}.limit h3{letter-spacing:-.01em;font-size:1.02rem;line-height:1.3}.limit p{color:var(--fg-2);margin-top:8px;font-size:.9rem}.limit .ico{background:var(--surface-2);width:30px;height:30px;color:var(--fg-2);border-radius:9px;place-items:center;margin-bottom:14px;display:inline-grid}.limit .ico svg{width:16px;height:16px}.limit.strong{border-color:color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 7%, transparent)}.limit.strong .ico{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.limits-more{color:var(--accent);align-items:center;gap:6px;margin-top:22px;font-weight:600;text-decoration:none;display:inline-flex}.cta{text-align:center;isolation:isolate;padding-block:clamp(96px,16vw,200px);overflow:hidden}.cta .bg-grid{-webkit-mask-image:radial-gradient(60% 70%,#000 20%,#0000 75%);mask-image:radial-gradient(60% 70%,#000 20%,#0000 75%)}.cta .glow-1{top:50%;translate:-50% -50%}.cta-mark{width:72px;height:72px;margin:0 auto 28px}@media (prefers-reduced-motion:no-preference){.cta-mark.is-in{animation:hop 1.2s var(--ease-out) .2s both}}@keyframes hop{0%{transform:translateY(0)rotate(0)}35%{transform:translateY(-18px)rotate(-20deg)}70%{transform:translateY(0)rotate(120deg)scale(1.04,.94)}to{transform:rotate(120deg)}}.cta h2{letter-spacing:-.045em;font-size:clamp(2.3rem,6.5vw,4.8rem)}.cta h2 span{display:block}.cta h2 .accent{color:var(--accent)}.cta p{color:var(--fg-2);max-width:52ch;margin:20px auto 0}.cta .hero-install{margin-top:30px}.cta .hero-ctas{margin-top:22px}.footer{border-top:1px solid var(--line);color:var(--fg-2);padding-block:56px 40px;font-size:.9rem}.footer-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:32px;display:grid}@media (width<=760px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}.footer h3{font:600 .72rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin-bottom:14px}.footer ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.footer a{color:var(--fg-2);text-decoration:none;transition:color .2s}.footer a:hover{color:var(--fg)}.footer-brand p{max-width:32ch;margin-top:12px}.footer-legal{border-top:1px solid var(--line);color:var(--fg-3);margin-top:44px;padding-top:22px;font-size:.8rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.copy:where(.astro-mw7dorrt) svg{width:14px;height:14px}.metric-src:where(.astro-lxtpc2qm) svg{width:12px;height:12px}.story-more:where(.astro-nikkmkia) svg,.btn:where(.astro-4zmvzgqm) svg,.btn:where(.astro-4qvgnrze) svg{width:16px;height:16px}.cta-mark:where(.astro-4qvgnrze) svg,.intro-wheel:where(.astro-4qvgnrze) svg{width:100%;height:100%;display:block}.limits-more:where(.astro-4qvgnrze) svg{width:16px;height:16px}
