@import"https://fonts.googleapis.com/css2?family=Recursive:slnt,wght,CASL,CRSV,MONO@-15..0,300..1000,0..1,0..1,0..1&display=swap";:root{font-family:Recursive,system-ui,sans-serif;font-variation-settings:"MONO" 0,"CASL" 0;--bg: #f4f2ed;--surface: #fbfaf7;--sunken: #ece8df;--code: #eeeae1;--border: #d9d3c7;--ink: #1c2620;--muted: #56625a;--moss: #3e5a47;--on-moss: #f4f2ed;--tint: #e3eae1;--accent: #a0512e;--active: #e4ded2;--string: #9a4e2c;--type: #2f6b73;--fn: #6a4f86;--comment: #5f685f;color-scheme:light}html[data-theme=dark]{--bg: #1a1f1c;--surface: #222824;--sunken: #151916;--code: #151916;--border: #323a35;--ink: #e8ece5;--muted: #a2ada4;--moss: #8fb59a;--on-moss: #1a1f1c;--tint: #1f2b24;--accent: #e8996f;--active: #1f2621;--string: #e8996f;--type: #7fbfc6;--fn: #c2a8e0;--comment: #a2ada4;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.65}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--moss)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}button{border:0}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:560;letter-spacing:-1.1px;line-height:1.2}h2{font-size:32px}h3{font-size:19px;letter-spacing:-.5px}code,pre,kbd,.eyebrow,.feature-index,.brand,.product-badge,.hero-footnote,.line-no,.code-title,.code-caption,.compatibility,.layer-tabs,.env-label,.footer-label{font-family:Recursive,monospace;font-variation-settings:"MONO" 1,"CASL" 0}pre{margin:0;tab-size:2;font-size:12px;line-height:1.85}code{font-size:.92em}.container{max-width:1216px;width:calc(100% - 112px);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.nav-wrap{height:88px;max-width:1352px;margin:auto;padding:0 44px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:650;font-variation-settings:"MONO" 1,"CASL" 1;letter-spacing:-1.5px;line-height:1}.brand img{object-fit:contain}.brand-divider{width:1px;height:23px;background:var(--border);margin-left:0}.product-badge{font-size:11px;color:var(--moss);background:var(--tint);border:1px solid var(--border);padding:3px 8px;border-radius:4px}.nav-wrap nav{display:flex;gap:25px;margin-left:14px;font-size:13px}.nav-tools{margin-left:auto;display:flex;align-items:center;gap:16px}.language{display:flex;gap:3px;border-right:1px solid var(--border);padding-right:14px}.language a{background:transparent;color:var(--muted);font-size:10px;padding:4px 5px;border-radius:3px}.language a[aria-current=true]{background:var(--sunken);color:var(--ink)}.icon-button{background:transparent;display:flex;align-items:center;justify-content:center;width:24px;height:32px}.mobile-menu{display:none}.mobile-nav{padding:12px 24px;border-top:1px solid var(--border)}.mobile-nav a{margin-right:24px}.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:64px;align-items:center;padding-top:91px;padding-bottom:78px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.2px;font-weight:500;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--moss);flex-shrink:0}.hero h1{font-size:clamp(38px,4.15vw,56px);letter-spacing:-2.8px;line-height:1.13;margin:25px 0 24px;white-space:nowrap}.hero h1 span{color:var(--moss)}.lead{font-size:21px;line-height:1.5;letter-spacing:-.5px}.hero-description{color:var(--muted);font-size:14px;max-width:435px;margin:19px 0 27px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:6px;padding:12px 17px;font-size:12px;font-weight:500;line-height:1.5}.primary{color:var(--on-moss);background:var(--moss);border:1px solid var(--moss)}.primary:hover{opacity:.9;color:var(--on-moss)}.button svg{width:17px;height:17px}.install{background:transparent;border:1px solid var(--border);border-radius:6px;padding:12px 11px;font-family:Recursive,monospace;font-variation-settings:"MONO" 1;font-size:10px;white-space:nowrap}.install>span:first-child{color:var(--muted);margin-right:5px}.copy-icon{margin-left:8px;color:var(--muted)}.hero-footnote{font-size:9px;color:var(--muted);margin-top:18px}.code-panel{background:var(--code);border:1px solid var(--border);border-radius:10px;overflow:hidden;min-width:0}.code-title{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding:11px 18px;color:var(--muted);font-size:10px;background:var(--surface)}.code-title>span:first-child{display:flex;align-items:center;gap:8px}.code-title i{width:6px;height:6px;border-radius:50%;background:var(--moss)}.filetype{margin-left:auto;font-size:9px;opacity:.8}.copy-code{background:transparent;color:var(--muted);font-size:9px;margin-left:auto;opacity:0}.code-panel:hover .copy-code,.copy-code:focus-visible{opacity:1}.code-panel pre{padding:21px 0 23px;overflow:auto;font-size:11px;line-height:1.9}.code-line{display:flex;min-width:max-content;padding:0 21px 0 0}.line-no{color:var(--muted);opacity:.65;width:44px;flex-shrink:0;text-align:right;padding-right:16px;font-size:9px;-webkit-user-select:none;user-select:none}.code-line:nth-last-child(3){background:var(--active);border-left:2px solid var(--accent)}.code-line:nth-last-child(3) .line-no{width:42px}.code-caption{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:var(--muted);margin-top:15px}.hljs-keyword,.hljs-literal{color:var(--moss)}.hljs-string{color:var(--string)}.hljs-title,.hljs-title.function_,.hljs-built_in{color:var(--fn)}.hljs-title.class_,.hljs-type{color:var(--type)}.hljs-comment{color:var(--comment);font-variation-settings:"MONO" 1,"CASL" 1}.hljs-number{color:var(--accent)}.compatibility{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted)}.compatibility>span{font-size:8px;letter-spacing:1px}.compatibility>div{display:flex;align-items:center;gap:33px}.compatibility b{font-size:11px;font-weight:450;display:flex;align-items:center;gap:6px}.compatibility small{font-size:8px}.compatibility svg{width:12px}.compat-divider{height:18px;width:1px;background:var(--border)}.model-section{padding-top:75px;padding-bottom:66px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}.section-top h2{margin-top:14px}.section-top>p{color:var(--muted);font-size:12px;line-height:1.8}.layer-tabs{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--border);border-radius:7px;overflow:hidden}.layer-tabs button{background:var(--surface);border-right:1px solid var(--border);padding:17px 12px;display:flex;align-items:center;gap:9px;font-size:11px;position:relative}.layer-tabs button:last-child{border-right:0}.layer-tabs button>span{font-size:9px;color:var(--muted)}.layer-tabs i{position:absolute;right:-7px;z-index:1;color:var(--muted);background:var(--bg);font-style:normal;width:12px;text-align:center}.layer-tabs button[aria-selected=true]{background:var(--tint);box-shadow:inset 0 -2px var(--accent);color:var(--moss)}.layer-detail{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;padding:28px 25px;background:var(--surface);border:1px solid var(--border);border-top:0}.layer-detail h3{margin:10px 0 15px;font-size:16px;max-width:340px;line-height:1.6}.layer-detail a{font-size:11px;color:var(--moss)}.layer-detail pre{align-self:center;font-size:11px;overflow:auto}.environment{display:flex;align-items:center;gap:18px;border:1px dashed var(--border);padding:13px 20px;margin-top:12px;border-radius:5px;color:var(--muted);font-size:10px}.env-label{color:var(--moss)}.environment a{margin-left:auto;white-space:nowrap}.features{border-top:1px solid var(--border);padding-top:62px;padding-bottom:70px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--moss);font-size:12px;white-space:nowrap}.text-link svg{width:16px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:8px;overflow:hidden}.feature-grid article{padding:27px 26px;border-right:1px solid var(--border)}.feature-grid article:last-child{border:0}.feature-index{font-size:9px;letter-spacing:1px;color:var(--muted)}.feature-grid pre{margin:23px -26px 25px;padding:18px 26px;background:var(--code);font-size:10px;overflow:auto;min-height:80px}.feature-grid h3{font-size:17px;margin-bottom:13px}.feature-grid p{color:var(--muted);font-size:12px;line-height:1.8;min-height:87px}.feature-grid a{display:inline-block;margin-top:20px;font-size:11px;color:var(--moss)}.connections{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--border);padding-top:65px;padding-bottom:70px}.connections h2{margin:16px 0 20px}.connections p{color:var(--muted);font-size:13px;margin-bottom:22px;max-width:400px}.package-list{align-self:center;border-top:1px solid var(--border)}.package-list a{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);font-size:11px}.package-list code{color:var(--moss);min-width:145px;font-size:11px}.package-list span{color:var(--muted)}.package-list span:last-child{margin-left:auto}footer{margin-top:68px!important;padding-top:27px;padding-bottom:35px;border-top:1px solid var(--border);display:flex;align-items:center;gap:30px}footer>div:first-child{display:flex;align-items:center;gap:18px}footer .brand{font-size:23px}footer .brand img{width:23px;height:28px}.footer-label{font-size:9px;color:var(--muted)}footer p{font-size:10px;color:var(--muted);margin-left:auto}footer p span{font-size:9px}.footer-links{display:flex;gap:20px;font-size:11px}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:var(--moss);color:var(--on-moss);padding:10px}.skip:focus{top:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);border-radius:8px;padding:12px 22px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:translate(-50%)}@media(min-width:1450px){.hero h1{font-size:56px}.hero-actions{flex-wrap:nowrap}.hero{gap:72px}.code-panel pre{font-size:12px}}@media(max-width:1150px){.container{width:calc(100% - 64px)}.nav-wrap{padding:0 28px;gap:16px;height:76px}.nav-wrap nav{gap:18px;margin-left:0}.nav-tools{gap:12px}.hero{gap:30px;padding-top:70px}.hero h1{font-size:43px;letter-spacing:-2px}.hero-actions{align-items:flex-start}.hero-actions .install{font-size:9px}.compatibility>div{gap:20px}.compatibility>span{max-width:100px}.section-top h2{font-size:29px}.layer-tabs button{font-size:10px;gap:5px;padding:16px 9px}.feature-grid article{padding:22px 19px}.feature-grid pre{margin-inline:-19px;padding-inline:19px;font-size:9px}.feature-grid h3{font-size:15px}.connections{gap:45px}footer{gap:20px}.footer-label{display:none}}@media(max-width:800px){.container{width:calc(100% - 40px)}.nav-wrap{padding:0 20px;height:70px;gap:12px}.brand{font-size:25px}.brand img{width:25px;height:29px}.nav-wrap nav{display:none}.nav-tools{gap:13px}.mobile-menu{display:flex;font-size:20px}.github,.brand-divider{display:none}.product-badge{font-size:9px}.language{padding-right:8px}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:38px;gap:35px}.hero-copy{max-width:600px}.hero h1{font-size:clamp(36px,6.8vw,52px);margin-top:20px;white-space:normal}.hero-description{max-width:540px}.hero-actions{gap:10px}.hero-actions .install{font-size:10px}.hero-footnote{font-size:9px}.hero-example{max-width:100%}.code-panel pre{font-size:12px}.code-caption{font-size:9px}.compatibility{display:block;padding:20px 0}.compatibility>span{display:block;max-width:none;margin-bottom:14px}.compatibility>div{flex-wrap:wrap;gap:17px 25px}.compatibility b{font-size:10px}.compat-divider{display:none}.model-section{padding-top:45px;padding-bottom:40px}.section-top{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:25px}.section-top h2{font-size:27px}.section-top p br{display:none}.layer-tabs{grid-template-columns:repeat(3,1fr)}.layer-tabs button{font-size:11px;padding:15px 10px}.layer-tabs button:nth-child(3){border-right:0}.layer-tabs button:nth-child(-n+3){border-bottom:1px solid var(--border)}.layer-tabs i{display:none}.layer-detail{grid-template-columns:1fr;padding:23px 18px;gap:20px}.layer-detail h3{max-width:none}.layer-detail pre{font-size:10px}.environment{gap:10px;padding:12px;align-items:flex-start;flex-wrap:wrap}.environment>span:nth-child(2){flex:1;min-width:160px}.features{padding-top:40px;padding-bottom:40px}.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:25px;border-right:0;border-bottom:1px solid var(--border)}.feature-grid pre{margin:20px -25px;padding:18px 25px;font-size:12px}.feature-grid h3{font-size:20px}.feature-grid p{min-height:0;font-size:13px}.feature-grid a{margin-top:15px}.connections{grid-template-columns:1fr;gap:30px;padding-block:40px}.connections h2{font-size:29px}.package-list code{min-width:145px}footer{margin-top:42px!important;flex-wrap:wrap;justify-content:space-between;gap:23px}footer p{margin-left:0;order:3;width:100%}.footer-links{gap:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.hero>*{min-width:0}.hero-example{width:100%}.hero-copy h1{overflow-wrap:normal}@media(max-width:800px){.hero h1{font-size:clamp(32px,8vw,48px);letter-spacing:-1.7px}.hero-actions{min-width:0}.install{max-width:100%}.hero-description,.hero-example .code-panel{width:100%}.nav-wrap{gap:9px}.nav-tools{gap:10px}}.brand-symbol{display:block;width:40px;height:40px;flex-shrink:0}.brand .brand-symbol img{width:100%;height:100%;object-fit:contain}.brand-symbol .symbol-dark,html[data-theme=dark] .brand-symbol .symbol-light{display:none}html[data-theme=dark] .brand-symbol .symbol-dark{display:block}footer .brand-symbol{width:32px;height:32px}@media(max-width:800px){.brand-symbol{width:36px;height:36px}}:root{--motion-fast: .16s;--motion-base: .24s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}body,.site-header,.code-panel,.code-title,.layer-detail,.environment,.feature-grid pre{transition:background-color .28s ease,color .22s ease,border-color .22s ease}a,button{transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,opacity var(--motion-fast) ease,transform var(--motion-base) var(--motion-ease)}.button svg,.text-link svg,.package-list a>span:last-child{transition:transform var(--motion-base) var(--motion-ease)}.button:active,.install:active{transform:translateY(1px) scale(.98)}.icon-button svg{transition:transform .32s var(--motion-ease)}#theme:active svg{transform:rotate(45deg)}.layer-tabs button{transition:background-color .22s ease,color .18s ease,border-color .22s ease,box-shadow .24s ease}.copy-code{transition:opacity .18s ease,color .18s ease}.feature-grid article,.package-list a{transition:background-color var(--motion-base) ease}.motion-pending{opacity:0;transform:translateY(18px)}.motion-pending:focus-within{opacity:1;transform:none}.mobile-nav:not([hidden]) a{animation:content-enter .24s var(--motion-ease) both}::view-transition-old(root){animation:page-out .13s ease both}::view-transition-new(root){animation:page-in .26s var(--motion-ease) both}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.button:hover{transform:translateY(-2px)}.button:hover svg,.text-link:hover svg{transform:translate(3px)}.install:hover{background:var(--surface);border-color:var(--moss)}.icon-button:hover svg{transform:translateY(-2px)}#theme:hover svg{transform:rotate(30deg)}.feature-grid article:hover{background:var(--surface)}.package-list a:hover{background:var(--tint)}.package-list a:hover>span:last-child{transform:translate(2px,-2px)}.layer-tabs button:not([aria-selected=true]):hover{background:var(--sunken)}}@keyframes content-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-pending{opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}#model,#features{scroll-margin-top:100px}@media(prefers-reduced-motion:no-preference){@keyframes hero-enter{0%{opacity:0;transform:translateY(14px)}}.hero-copy>*,.hero-example{animation:hero-enter .44s var(--motion-ease) backwards}.hero-example{animation-delay:.14s}.hero-copy>:nth-child(2){animation-delay:55ms}.hero-copy>:nth-child(3){animation-delay:.11s}.hero-copy>:nth-child(4){animation-delay:165ms}.hero-copy>:nth-child(5){animation-delay:.22s}.hero-copy>:nth-child(6){animation-delay:275ms}}.news-pill{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin-top:22px;padding:7px 12px 7px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12px}.news-pill>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-pill[hidden]{display:none}.news-kind{flex-shrink:0;padding:2px 8px;border-radius:999px;background:var(--tint);color:var(--moss);font-family:Recursive,monospace;font-variation-settings:"MONO" 1;font-size:10px;letter-spacing:.6px;text-transform:uppercase}.news-kind.release{color:var(--accent);background:var(--sunken)}.content-page{max-width:760px;padding-top:72px;padding-bottom:96px}.page-intro h1{font-size:clamp(32px,4vw,44px);letter-spacing:-2px;margin:20px 0 16px}.page-intro .lead{color:var(--muted);font-size:18px}.post-list,.news-list{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--border)}.post-list>li,.news-list>li{border-bottom:1px solid var(--border)}.post-card,.news-item{padding:28px 0}.post-card time,.news-meta time{color:var(--muted);font-family:Recursive,monospace;font-variation-settings:"MONO" 1;font-size:11px}.post-card h2,.news-item h2{font-size:22px;letter-spacing:-.6px;margin:8px 0}.post-card p,.news-item p{color:var(--muted)}.news-meta{display:flex;align-items:center;gap:12px}.news-link{display:inline-block;margin-top:10px;color:var(--moss);font-size:13px}.empty{color:var(--muted);padding:28px 0}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}.tags li{padding:2px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:11px}.back{color:var(--muted);font-size:13px}.post .page-intro{margin-top:28px;padding-bottom:32px;border-bottom:1px solid var(--border)}.post-cover{display:block;width:100%;height:auto;margin-top:32px;border:1px solid var(--border);border-radius:10px}.prose{margin-top:36px;font-size:16px;line-height:1.8}.prose>*+*{margin-top:1.1em}.prose h2{font-size:26px;margin-top:1.8em}.prose h3{font-size:20px;margin-top:1.5em}.prose a{color:var(--moss);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4em}.prose blockquote{margin-inline:0;padding-left:16px;border-left:3px solid var(--border);color:var(--muted)}.prose img{max-width:100%;height:auto;border-radius:8px}.prose :not(pre)>code{padding:1px 5px;border-radius:4px;background:var(--code)}.code-block{overflow-x:auto;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--code);font-size:13px}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{padding:8px;border-bottom:1px solid var(--border);text-align:left}.post-end{margin-top:56px;padding-top:24px;border-top:1px solid var(--border)}@media(max-width:800px){.content-page{padding-top:44px;padding-bottom:64px}.prose{font-size:15px}}
