@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-wght-normal.CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: oklch(.976 .008 75);--paper-2: oklch(.955 .012 74);--ink: oklch(.23 .012 50);--ink-soft: oklch(.44 .012 52);--ink-faint: oklch(.6 .011 58);--rule: oklch(.87 .012 72);--rule-strong: oklch(.78 .014 64);--accent: oklch(.605 .198 33);--accent-deep: oklch(.52 .19 32);--accent-wash: oklch(.93 .045 48);--ink-bg: oklch(.21 .014 52);--ink-bg-2: oklch(.26 .014 52);--on-ink: oklch(.93 .01 75);--on-ink-soft: oklch(.72 .012 70);--display: "Fraunces Variable", Georgia, "Times New Roman", serif;--sans: "Hanken Grotesk Variable", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--maxw: 1180px;--gut: 32px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;font-weight:420;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;border-top:4px solid var(--accent)}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3{margin:0;font-family:var(--display);font-weight:540;font-optical-sizing:auto;line-height:1.02;letter-spacing:-.018em}.display{font-family:var(--display);font-optical-sizing:auto}.accent{color:var(--accent)}code{font-family:var(--mono)}::selection{background:var(--accent);color:var(--paper)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.kicker{display:inline-block;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.kicker:before{content:"❯ ";opacity:.7}.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:560;font-size:.98rem;padding:12px 20px;border-radius:2px;border:1.5px solid var(--ink);cursor:pointer;transition:transform .14s cubic-bezier(.22,1,.36,1),background .18s,color .18s}.btn:active{transform:translateY(1px)}.btn svg{width:18px;height:18px;flex-shrink:0}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn .badge{font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border:1px solid currentColor;border-radius:2px;opacity:.7}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--paper) 86%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px}.wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:600;font-size:1.05rem;letter-spacing:-.02em;color:var(--ink)}.wordmark svg{width:21px;height:21px;display:block}.nav-links{display:flex;align-items:center;gap:4px}.nav-link{padding:8px 13px;color:var(--ink-soft);font-size:.96rem;font-weight:480;transition:color .15s}.nav-link:hover{color:var(--ink)}.lang-toggle{display:inline-flex;font-family:var(--mono);font-size:.78rem;margin-left:8px;border:1px solid var(--rule-strong);border-radius:2px;overflow:hidden}.lang-toggle a{padding:6px 9px;color:var(--ink-faint);transition:background .15s,color .15s}.lang-toggle a[aria-current=true]{background:var(--ink);color:var(--paper)}.lang-toggle a:not([aria-current=true]):hover{color:var(--ink)}.hero{padding-block:clamp(48px,9vw,104px) clamp(40px,6vw,72px)}.hero .kicker{margin-bottom:28px}.hero-main{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;margin-top:clamp(34px,5vw,52px)}.hero h1{margin-top:24px;font-size:clamp(2.9rem,8.8vw,6.2rem);font-weight:560;letter-spacing:-.03em}.hero h1 span{display:block;white-space:nowrap}.cmd-demo{font-family:var(--mono);font-size:.95rem;line-height:1.95;padding:22px 24px;background:var(--paper-2);border:1px solid var(--rule-strong);border-radius:3px;margin-bottom:10px}.cmd-demo .sigil{color:var(--accent);user-select:none;margin-right:8px}.cmd-demo .comment{color:var(--ink-faint)}.cmd-demo .cmd-out{color:var(--ink-soft)}.cmd-demo .cmd-out:before{content:"→ ";color:var(--ink-faint)}.cmd-demo .cur{display:inline-block;width:9px;height:1.05em;background:var(--accent);vertical-align:text-bottom;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-lead{display:flex;flex-direction:column;gap:22px}.lead{font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.4;color:var(--ink);font-weight:440}.install-line{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.98rem;padding:14px 16px;border:1.5px solid var(--ink);border-radius:2px;background:var(--paper);max-width:420px}.install-line .sigil{color:var(--accent);user-select:none}.install-line code{flex:1;white-space:nowrap;overflow-x:auto;scrollbar-width:none}.install-line code::-webkit-scrollbar{display:none}.install-note{margin-top:9px;font-family:var(--mono);font-size:.8rem;color:var(--ink-faint)}.copy-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--rule-strong);border-radius:2px;background:transparent;color:var(--ink-soft);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.copy-btn:hover,.copy-btn.copied{color:var(--accent);border-color:var(--accent)}.copy-btn svg{width:15px;height:15px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.section{padding-block:clamp(60px,8vw,100px)}.section-title{font-size:clamp(2rem,4.5vw,3rem);font-weight:540;max-width:18ch;margin-bottom:clamp(36px,5vw,56px)}.feat-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.feat-item{display:grid;grid-template-columns:5rem 1fr;gap:28px;padding-block:34px;border-bottom:1px solid var(--rule);align-items:baseline;transition:padding-left .25s cubic-bezier(.22,1,.36,1)}.feat-item:hover{padding-left:12px}.feat-num{font-family:var(--display);font-optical-sizing:auto;font-size:2.4rem;font-weight:380;font-style:italic;color:var(--accent);line-height:1}.feat-item h3{font-size:1.7rem;font-weight:500;margin-bottom:8px}.feat-item p{color:var(--ink-soft);font-size:1.05rem;max-width:60ch}.eco{background:var(--paper-2);border-block:1px solid var(--rule)}.eco-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,80px);align-items:center}.eco h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:500;margin-top:22px;max-width:16ch}.eco-body{color:var(--ink-soft);font-size:1.08rem;margin-top:18px;max-width:48ch}.eco-cta{margin-top:28px}.eco-ladder{display:grid;gap:18px}.rung{padding:22px 24px;background:var(--paper);border:1px solid var(--rule-strong);border-radius:3px}.rung.step{margin-left:clamp(0px,8vw,64px);border-color:var(--accent);background:var(--accent-wash)}.rung-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.rung.step .rung-label{color:var(--accent-deep)}.rung strong{display:block;font-family:var(--display);font-size:1.5rem;font-weight:500;margin-top:6px}.rung span.desc{display:block;color:var(--ink-soft);font-size:.98rem;margin-top:4px}.rung-arrow{display:block;margin-left:clamp(0px,8vw,64px);padding-left:24px;color:var(--ink-faint);font-family:var(--mono);font-size:1.1rem;line-height:.6}.close{background:var(--ink-bg);color:var(--on-ink)}.kairia-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:clamp(44px,6vw,64px);flex-wrap:wrap;border-bottom:1px solid var(--ink-bg-2)}.kairia-inner h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:500;max-width:20ch}.kairia-inner p{color:var(--on-ink-soft);margin-top:10px;max-width:52ch;font-size:1.02rem}.btn-on-ink{border-color:var(--on-ink);color:var(--on-ink);background:transparent}.btn-on-ink:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.footer{padding-block:44px 40px}.footer-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer .wordmark{color:var(--on-ink)}.footer-made{color:var(--on-ink-soft);font-size:.9rem;margin-top:14px;max-width:32ch}.footer-cols{display:flex;gap:64px;flex-wrap:wrap}.footer-col h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-soft);margin:0 0 14px;font-weight:500}.footer-col a{display:block;color:var(--on-ink);font-size:.95rem;padding:4px 0;transition:color .15s}.footer-col a:hover{color:var(--accent)}.footer-meta{margin-top:40px;padding-top:22px;border-top:1px solid var(--ink-bg-2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--on-ink-soft);font-family:var(--mono);font-size:.82rem}.docs{display:grid;grid-template-columns:200px 1fr;gap:64px;padding-block:56px 96px;align-items:start}.docs-nav{position:sticky;top:90px;font-family:var(--mono);font-size:.86rem}.docs-nav a{display:block;color:var(--ink-faint);padding:7px 0;transition:color .15s}.docs-nav a:hover{color:var(--accent)}.prose{max-width:70ch}.prose h1{font-size:clamp(2.4rem,5vw,3.2rem);font-weight:540}.prose h2{font-size:1.7rem;font-weight:520;margin-top:52px;padding-bottom:10px;border-bottom:1px solid var(--rule);scroll-margin-top:90px}.prose h3{font-size:1.2rem;margin-top:32px}.prose p,.prose li{color:var(--ink-soft);margin-top:15px;font-size:1.06rem}.prose ul{padding-left:20px;margin:0}.prose li{margin-top:9px}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose code:not(pre code){font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:1px 6px;font-size:.88em;color:var(--ink)}.codeblock{position:relative;margin-top:20px;background:var(--ink-bg);border-radius:3px}.codeblock pre{margin:0;padding:18px 20px;overflow-x:auto;font-family:var(--mono);font-size:.9rem;line-height:1.7;color:var(--on-ink)}.codeblock .copy-btn{position:absolute;top:10px;right:10px;color:var(--on-ink-soft);border-color:var(--ink-bg-2)}.codeblock .copy-btn:hover{color:var(--accent);border-color:var(--accent)}.codeblock .c-accent{color:oklch(.78 .16 40)}.codeblock .c-comment{color:var(--on-ink-soft)}.note{margin-top:24px;padding:15px 18px;border:1px solid var(--accent);background:var(--accent-wash);border-radius:3px;font-size:.98rem;color:var(--ink)}.note strong{color:var(--accent-deep)}.shot{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(28px,5vw,60px);align-items:center;margin-bottom:clamp(44px,7vw,80px)}.shot:last-child{margin-bottom:0}.shot.reverse{grid-template-columns:1fr 1.45fr}.shot.reverse .shot-frame{order:2}.shot.reverse figcaption{order:1}.shot-frame{border-radius:12px;overflow:hidden;border:1px solid var(--rule-strong);background:#242529;box-shadow:0 34px 64px -34px #30221680,0 10px 24px -14px #30221659}.shot-frame img{display:block;width:100%;height:auto}.shot figcaption{font-size:1.15rem;line-height:1.45;color:var(--ink-soft);max-width:34ch}.tools .section-title{max-width:22ch}.tool-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px 48px;align-items:center}.tool{display:flex;align-items:center;gap:13px;font-weight:520;font-size:1.2rem}.tool svg{width:27px;height:27px;flex-shrink:0;color:var(--ink)}.tools-note{margin-top:30px;font-family:var(--mono);font-size:.9rem;color:var(--ink-faint)}.consent{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--paper-2);border-top:1px solid var(--rule-strong);box-shadow:0 -16px 40px -26px #281e1466}.consent[hidden]{display:none}.consent-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px;flex-wrap:wrap}.consent-text{font-size:.94rem;color:var(--ink-soft);max-width:72ch}.consent-text a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.consent-actions{display:flex;gap:10px;flex-shrink:0}.consent-actions .btn{padding:9px 18px;font-size:.92rem}@media(max-width:560px){.consent-actions{width:100%}.consent-actions .btn{flex:1;justify-content:center}}@media(max-width:880px){.hero-main,.eco-wrap{grid-template-columns:1fr;gap:36px}.shot,.shot.reverse{grid-template-columns:1fr;gap:22px}.shot.reverse .shot-frame{order:0}.shot.reverse figcaption{order:0}.feat-item{grid-template-columns:3.5rem 1fr;gap:18px}.rung.step,.rung-arrow{margin-left:28px}.docs{grid-template-columns:1fr;gap:28px}.docs-nav{position:static;display:flex;flex-wrap:wrap;gap:4px 18px;padding-bottom:16px;border-bottom:1px solid var(--rule)}}@media(max-width:520px){.nav-link{display:none}.feat-item:hover{padding-left:0}}
