@import "https://cdn.jsdelivr.net/gh/aaaakshat/cm-web-fonts@latest/fonts.css";@import "https://fonts.googleapis.com/css2?family=STIX+Two+Text:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=JetBrains+Mono:wght@400;500&family=Caveat:wght@500;600&display=swap";html,body{margin:0;padding:0}:root{--ground:#fdfcf8;--paper:#fdfcf8;--paper-edge:#f4f1e8;--pen:#c2402a;--grid:#ebebeb;--grid-strong:#d4d4d4;--ink:#111;--ink-soft:#5e5e5e;--ink-faint:#9a9a9a;--accent:#111;--red:#111;--green:#111;--serif:"Computer Modern Serif","STIX Two Text","Cambria Math",Georgia,serif;--math:"STIX Two Text","Computer Modern Serif","Cambria Math",serif;--grotesk:var(--serif);--hand:var(--serif);--mono:"JetBrains Mono",ui-monospace,monospace;--maxw:1040px;--rule:1px solid var(--ink);--hair:1px solid var(--grid-strong)}body,body *{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-kerning:normal;min-height:100vh;margin:0;font-size:18px;line-height:1.6}::selection{color:#fff;background:#111}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}@media (width<=720px){.wrap{padding:0 16px}}a{color:inherit;text-decoration:none}p a,.lede a,h2 a{text-underline-offset:3px;text-decoration:underline 1px}.tau{font-family:var(--math);font-style:italic}.eyebrow,.sidebar-group-label,.figure .figlabel,.strip .cap,.meta-cap,.eq-title,.eq-col .lbl,.family small,.flow-node small,.turn-head>span,.release-section h4,.docs-prevnext .dir,.docs-content th{font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:400;font-family:var(--serif)!important}.eyebrow-hand{font-family:var(--serif);color:var(--ink);letter-spacing:0;margin:0 0 6px;font-size:17px;font-weight:700;display:block}.eyebrow-hand:first-letter{text-transform:uppercase}.eyebrow-hand:after{content:"."}.hero .eyebrow-hand{color:var(--ink-soft);font-style:italic;font-weight:400}.hero .eyebrow-hand:after{content:""}.site-nav{z-index:3;max-width:var(--maxw);border-bottom:var(--hair);justify-content:space-between;align-items:baseline;gap:24px;margin:0 auto;padding:28px 40px 14px;display:flex;position:relative}@media (width<=720px){.site-nav{padding:20px 16px 12px}}.brand-group{align-items:baseline;gap:12px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand .glyph{font-family:var(--math);font-size:28px;font-style:italic;line-height:1}.brand .name{font-variant:small-caps;letter-spacing:.08em;font-size:19px}.brand .ver{font-family:var(--mono);color:var(--ink-soft);font-size:11.5px}.brand-by{color:var(--ink-soft);align-items:baseline;gap:6px;display:inline-flex}.brand-by .by-text{font-size:14px;font-style:italic}.brand-by .hf-logo{filter:grayscale();display:inline-block;transform:translateY(3px)}@media (width<=480px){.brand-by .by-text{display:none}}.navlinks{align-items:center;gap:22px;font-size:16px;display:flex}.navlinks a{color:var(--ink-soft);transition:color .15s}.navlinks a:hover{color:var(--ink)}.hf-logo{display:block}.gh-with-stars{color:var(--ink-soft);align-items:center;gap:7px;display:inline-flex}.gh-with-stars:hover{color:var(--ink)}.gh-with-stars .gh-icon{display:block}.gh-stars{font-family:var(--mono);color:var(--ink-soft);align-items:center;gap:4px;font-size:12px;display:inline-flex}.gh-stars .star-icon{color:var(--ink)}.search-trigger{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.search-trigger:hover{color:var(--ink)}.search-trigger .search-icon{display:block}body.search-open{overflow:hidden}.search-modal{z-index:50;background:#fdfcf8e6;justify-content:center;align-items:flex-start;padding:80px 16px;display:flex;position:fixed;inset:0}.search-modal[hidden]{display:none}.search-modal-inner{background:var(--ground);border:var(--rule);width:100%;max-width:640px;max-height:70vh;padding:28px 24px;position:relative;overflow-y:auto}.search-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1;position:absolute;top:10px;right:14px}.search-close:hover{color:var(--ink)}.search-unavailable{color:var(--ink-soft);margin:0;font-size:15px}.search-unavailable code{font-family:var(--mono);font-size:.88em}.pagefind-ui{--pagefind-ui-primary:#111;--pagefind-ui-text:#111;--pagefind-ui-background:#fff;--pagefind-ui-border:#d4d4d4;--pagefind-ui-tag:#ebebeb;--pagefind-ui-border-radius:0;--pagefind-ui-font:var(--serif)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px 2px;display:none}.nav-toggle .bar{background:var(--ink);width:20px;height:1.5px;display:block}@media (width<=640px){.nav-toggle{display:inline-flex}.navlinks{inset-inline:0;background:var(--ground);border-bottom:var(--rule);z-index:20;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%}.navlinks a,.navlinks .search-trigger{border-top:1px solid var(--grid);justify-content:flex-start;width:auto;height:auto;padding:12px 16px}.navlinks.is-open{display:flex}}header.hero{padding:88px 0 48px}header.hero.hero-compact{padding-top:64px}@media (width<=720px){header.hero,header.hero.hero-compact{padding:48px 0 24px}}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}@media (width<=860px){.hero-grid{grid-template-columns:1fr;gap:36px}}h1,.hero-title-original,.h1-compact{font-family:var(--serif);letter-spacing:-.012em;margin:10px 0 0;font-size:clamp(40px,6.4vw,68px);font-weight:400;line-height:1.06}h1 em,.hero-title-original em{color:var(--ink);font-style:italic}h1 .big-tau{font-family:var(--math);font-style:italic}.lede{max-width:31em;color:var(--ink);margin:26px 0 0;font-size:19.5px}.lede strong{font-weight:700}.small-lede{color:var(--ink-soft);margin-top:12px;font-size:17.5px;font-style:italic}.cta-row{flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:36px;display:flex}.install{max-width:100%;font-family:var(--mono);border:var(--rule);background:var(--ground);white-space:nowrap;align-items:center;gap:14px;padding:12px 16px;font-size:13.5px;display:inline-flex;overflow-x:auto}.install .dollar{color:var(--ink-faint)}.install .copy{font-family:var(--serif);font-variant:small-caps;letter-spacing:.04em;color:var(--ink-soft);cursor:pointer;border:none;border-left:var(--hair);background:0 0;padding:0 0 0 14px;font-size:15px}.install .copy:hover{color:var(--ink)}.ghost{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:1px;font-size:17px;font-style:italic}.ghost:hover{border-bottom-color:#0000}.ghost .arr{font-style:normal;font-family:var(--math)}.star-cta{margin-top:20px}.star-cta-link{color:var(--ink-soft);align-items:center;gap:8px;font-size:15.5px;display:inline-flex}.star-cta-link:hover{color:var(--ink)}.star-cta-link .gh-icon,.star-cta-link .star-icon{flex-shrink:0;display:block}.figure{border:none;margin:0;padding:0 0 34px;position:relative}.figure canvas{width:100%;height:auto;display:block}.figure .figlabel{font-size:15px;position:absolute;bottom:4px;left:0}.figure .figlabel:before{content:"Fig. 1 — ";font-variant:normal;text-transform:none;letter-spacing:0;color:var(--ink)}.figure .figval{font-family:var(--mono);color:var(--ink-soft);font-size:12.5px;position:absolute;bottom:4px;right:0}.strip{border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:repeat(3,1fr);margin-top:48px;display:grid}.strip .cellitem{text-align:center;border-right:var(--hair);padding:20px 8px}.strip .cellitem:last-child{border-right:none}.strip .num{font-family:var(--math);font-size:28px;font-style:italic;line-height:1}.arch-strip .num{font-family:var(--serif)}.strip .cap{margin-top:8px;font-size:16px;display:block}@media (width<=560px){.strip{grid-template-columns:1fr}.strip .cellitem{border-right:none;border-bottom:var(--hair)}.strip .cellitem:last-child{border-bottom:none}}section{border-top:var(--hair);padding:80px 0}.wrap>section:first-child{border-top:none}.sec-head{align-items:baseline;gap:20px;margin-bottom:40px;display:flex}.sec-head .mark{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1}.sec-head .mark:before{content:"§";margin-right:4px;font-weight:400}.sec-head h2,.two h2{font-family:var(--serif);letter-spacing:-.005em;margin:0;font-size:clamp(26px,3.6vw,34px);font-style:normal;font-weight:700;line-height:1.15}.two h2{margin-bottom:16px}.sec-head .eyebrow-hand{display:none}.layers{border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=760px){.layers{grid-template-columns:1fr}}.layer{border-right:var(--hair);padding:26px 24px 30px;position:relative}.layer:last-child{border-right:none}@media (width<=760px){.layer{border-right:none;border-bottom:var(--hair)}.layer:last-child{border-bottom:none}}.layer .pkg{font-family:var(--mono);color:var(--ink-soft);font-size:13px}.layer h3{font-family:var(--serif);margin:12px 0 8px;font-size:21px;font-weight:700;line-height:1.2}.layer p{color:var(--ink);margin:0;font-size:16.5px;font-style:italic;line-height:1.55}.layer .idx{font-family:var(--math);color:var(--ink-faint);font-size:20px;position:absolute;top:22px;right:22px}.principles{counter-reset:axiom;grid-template-columns:repeat(2,1fr);gap:34px 56px;display:grid}@media (width<=680px){.principles{grid-template-columns:1fr}}.pr{counter-increment:axiom}.pr h3{font-family:var(--serif);margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.35}.pr h3:before{content:"Axiom " counter(axiom) " ";font-variant:small-caps}.pr h3:after{content:"."}.pr p{margin:0;font-size:17px;font-style:italic}.terminal{border-top:var(--rule);border-bottom:var(--rule);background:var(--ground)}.terminal .bar{border-bottom:var(--hair);align-items:center;padding:8px 0;display:flex}.terminal .bar span{display:none}.terminal .bar .t{font-family:var(--serif);font-variant:small-caps;color:var(--ink-soft);letter-spacing:.04em;font-size:15px;display:block}.terminal pre{font-family:var(--mono);color:var(--ink);margin:0;padding:20px 0;font-size:13.5px;line-height:1.85;overflow-x:auto}.terminal .pmt{color:var(--ink)}.terminal .cmd{color:var(--ink);font-weight:500}.terminal .out{color:var(--ink-faint)}.terminal .key{color:var(--ink);font-style:italic}.two{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;display:grid}.boundary-two{grid-template-columns:.8fr 1.2fr}@media (width<=820px){.two,.boundary-two{grid-template-columns:1fr;gap:28px}}.two p{color:var(--ink)}.event-flow{padding:4px 0}.flow-node{border:var(--rule);text-align:center;background:var(--ground);padding:12px 16px}.flow-node span{font-family:var(--math);font-size:18px;font-style:italic;display:block}.flow-node small{margin-top:2px;font-size:14.5px;display:block}.flow-arrow{text-align:center;font-family:var(--math);color:var(--ink);font-size:22px;line-height:1.5}.flow-split{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.flow-split{grid-template-columns:1fr}}.capabilities{counter-reset:cap;border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:repeat(3,1fr);gap:0 40px;padding:10px 0;display:grid}.capabilities div{counter-increment:cap;padding:12px 0 12px 2.2em;font-size:16.5px;line-height:1.45;position:relative}.capabilities div:before{content:"(" counter(cap, lower-roman) ")";color:var(--ink-soft);font-style:italic;position:absolute;left:0}.capabilities code,.pr code{font-family:var(--mono);font-size:.86em}@media (width<=820px){.capabilities{grid-template-columns:1fr}}.closing{text-align:center;padding:110px 0 100px}.closing .turn{font-family:var(--math);font-size:clamp(72px,14vw,132px);font-style:italic;line-height:.9;display:block}.closing p{max-width:26em;margin:26px auto 0;font-style:italic}.closing p:after{content:" ∎";font-style:normal}.closing .cta-row{justify-content:center}.site-footer{max-width:var(--maxw);border-top:var(--rule);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:28px 40px 56px;font-size:15px;display:flex}@media (width<=720px){.site-footer{padding:28px 16px 48px}}.site-footer a:hover{color:var(--ink)}.site-footer .l{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.footer-hf{align-items:center;gap:6px;display:inline-flex}.footer-hf .hf-logo{filter:grayscale()}:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}.turns{border-top:var(--rule);border-bottom:var(--rule);display:grid}.turn-row{border-top:var(--hair);grid-template-columns:1.4fr 1fr 1fr;align-items:center;display:grid}.turn-row:first-child{border-top:none}.turn-row>span{padding:12px 16px}.turn-row>span:first-child{padding-left:0;font-size:16.5px}.turn-row .pi{color:var(--ink-soft);font-family:var(--math);font-size:19px}.turn-row .ta{font-family:var(--math);font-size:19px;font-weight:600}.turn-head{border-bottom:var(--rule)}.turn-head>span{padding-top:10px;padding-bottom:10px;font-size:15px!important}.turns-note{color:var(--ink-soft);max-width:46em;margin:18px 0 0;font-size:16.5px;font-style:italic}.eq-list{counter-reset:eqn;display:grid}.eq{counter-increment:eqn;border-top:var(--hair);padding:30px 0;position:relative}.eq:first-child{border-top:none}.eq:after{content:"(" counter(eqn) ")";font-family:var(--serif);color:var(--ink-soft);position:absolute;top:30px;right:0}.eq-title{font-size:17px;display:block}.eq-cols{border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:1fr 1fr;margin-top:16px;display:grid}@media (width<=620px){.eq-cols{grid-template-columns:1fr}}.eq-col{flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px;display:flex}.eq-col+.eq-col{border-left:var(--hair)}@media (width<=620px){.eq-col+.eq-col{border-left:none;border-top:var(--hair)}}.eq-col .form{font-size:19px}.eq-col.tau-col .lbl{color:var(--ink)}.eq-note{color:var(--ink-soft);margin:16px 0 0;font-size:16px;font-style:italic}.family{border-top:var(--rule);border-bottom:var(--rule);grid-template-columns:repeat(4,1fr);margin-top:16px;display:grid}@media (width<=620px){.family{grid-template-columns:repeat(2,1fr)}}.family>div{text-align:center;padding:16px 12px}.family .form{font-size:18px;display:block}.family .fam-tau .form{font-weight:600}.family small{margin-top:6px;font-size:14px;display:block}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.docs-layout{grid-template-columns:220px minmax(0,1fr);gap:64px;padding:56px 40px 100px;display:grid}@media (width<=860px){.docs-layout{grid-template-columns:1fr;gap:28px;padding:32px 16px 70px}}.docs-sidebar{max-height:calc(100vh - 56px);font-size:15.5px;position:sticky;top:28px;overflow-y:auto}@media (width<=860px){.docs-sidebar{max-height:none;position:static}}.sidebar-group{margin-bottom:22px}.sidebar-group-label{margin:0 0 6px;font-size:15px;color:var(--ink)!important}.docs-sidebar ul{margin:0;padding:0;list-style:none}.docs-sidebar a,.sidebar-toplink{color:var(--ink-soft);padding:3px 0;display:block}.sidebar-toplink{margin:0 0 14px}.docs-sidebar a:hover,.sidebar-toplink:hover{color:var(--ink)}.docs-sidebar a.active,.sidebar-toplink.active{color:var(--ink);font-style:italic}.docs-sidebar a.active:before,.sidebar-toplink.active:before{content:"→ ";font-style:normal}.docs-content{counter-reset:h2;min-width:0;max-width:44em;font-size:18px;line-height:1.7}.docs-content h1{margin:0 0 10px;font-size:clamp(32px,5vw,44px);font-weight:400}.docs-description{color:var(--ink-soft);border-bottom:var(--hair);margin:0 0 40px;padding-bottom:28px;font-size:18px;font-style:italic}.docs-content h2{counter-increment:h2;counter-reset:h3;font-family:var(--serif);margin:48px 0 14px;font-size:25px;font-weight:700}.docs-content h3{counter-increment:h3;font-family:var(--serif);margin:32px 0 10px;font-size:19.5px;font-weight:700}.docs-content p{margin:0 0 18px}.docs-content ul,.docs-content ol{margin:0 0 18px;padding-left:1.5em}.docs-content li{margin:0 0 6px}.docs-content a{text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:var(--ink-faint)}.docs-content a:hover{text-decoration-color:var(--ink)}.docs-content strong{font-weight:700}.docs-content code{font-family:var(--mono);font-size:.82em}.docs-content pre{background:var(--paper-edge);color:var(--ink);border-left:2px solid var(--ink);margin:0 0 22px;padding:18px 20px;overflow-x:auto}.docs-content pre.astro-code{background:var(--paper-edge)!important}.docs-content pre code{color:inherit;font-size:13.5px;line-height:1.7}.docs-content blockquote{color:var(--ink-soft);margin:0 0 18px;padding:0 0 0 24px;font-style:italic}.docs-content table{border-collapse:collapse;border-top:var(--rule);border-bottom:var(--rule);width:100%;margin:0 0 22px;font-size:16px}.docs-content th,.docs-content td{text-align:left;border-bottom:var(--hair);padding:8px 12px 8px 0}.docs-content th{border-bottom:var(--rule);font-size:16px;color:var(--ink)!important}.docs-content hr{text-align:center;border:none;margin:36px 0}.docs-content hr:after{content:"∗ ∗ ∗";color:var(--ink-soft)}.docs-footer{border-top:var(--hair);margin-top:56px;padding-top:20px;font-size:15px}.docs-footer .edit-link{color:var(--ink-soft)}.docs-footer .edit-link:hover{color:var(--ink)}.docs-prevnext{justify-content:space-between;gap:16px;margin-top:16px;display:flex}.docs-prevnext a{max-width:48%;font-size:17px;font-style:italic;text-decoration:none;display:block}.docs-prevnext a:hover{text-decoration:underline}.docs-prevnext .dir{margin-bottom:2px;font-size:14.5px;font-style:normal;display:block}.docs-prevnext .next{text-align:right;margin-left:auto}.admonition{border-left:var(--rule);margin:0 0 22px;padding:2px 0 2px 20px}.admonition-title{margin:0 0 6px;font-size:17px;font-weight:700}.admonition>:last-child{margin-bottom:0}.admonition p{font-style:italic}.admonition-caution{border-left-width:3px}.release-header{padding-top:64px}@media (width<=720px){.release-header{padding-top:40px}}.release-hero{max-width:640px}.release-hero h1{margin:8px 0 0}.release-hero .lede{margin-top:16px}.release-meta-row{border-top:var(--rule);border-bottom:var(--rule);margin-top:40px;display:flex}.meta-cell{border-right:var(--hair);flex-direction:column;flex:1;gap:4px;padding:18px 20px;display:flex}.meta-cell:first-child{padding-left:0}.meta-cell:last-child{border-right:none}.meta-num{font-family:var(--math);font-size:24px}.meta-cap{font-size:15px}@media (width<=640px){.release-meta-row{flex-direction:column}.meta-cell{border-right:none;border-bottom:var(--hair);padding-left:0}.meta-cell:last-child{border-bottom:none}}.release-list{border-top:var(--rule);border-bottom:var(--rule);display:grid}.release-card+.release-card{border-top:var(--hair)}.release-card-head{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;list-style:none;display:flex}.release-card-head::-webkit-details-marker{display:none}.release-card-head:hover .release-version{text-underline-offset:4px;text-decoration:underline 1px}.release-version{font-family:var(--math);align-items:center;gap:10px;font-size:clamp(21px,3vw,26px);display:flex}.chevron{font-family:var(--math);color:var(--ink-soft);font-size:18px;transition:transform .2s;display:inline-block}.release-card[open] .chevron{transform:rotate(90deg)}.release-head-right{align-items:center;gap:14px;display:flex}.badge{font-family:var(--serif);font-variant:small-caps;text-transform:lowercase;letter-spacing:.05em;color:var(--ink);border:1px solid var(--ink);padding:0 8px;font-size:14px}.release-card time{font-family:var(--mono);color:var(--ink-soft);font-size:12.5px}.release-sections{grid-template-columns:repeat(3,1fr);gap:28px;padding:6px 0 28px;display:grid}.release-section h4{margin:0 0 8px;font-size:16px;color:var(--ink)!important}.release-section ul{margin:0;padding-left:20px;font-size:16.5px;line-height:1.6}.release-section li+li{margin-top:6px}@media (width<=860px){.release-sections{grid-template-columns:1fr;gap:20px}}.roadmap-list{border-top:var(--rule);border-bottom:var(--rule);flex-direction:column;margin-bottom:12px;display:flex;position:relative}.roadmap-list:before{content:"";border-left:1px dotted var(--ink-faint);position:absolute;top:0;bottom:0;left:9px}.roadmap-item{border-top:var(--hair);align-items:flex-start;gap:20px;padding:18px 0;display:flex;position:relative}.roadmap-item:first-child{border-top:none}.roadmap-item-mark{z-index:1;background:var(--ground);flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;margin-top:4px;display:flex;position:relative}.roadmap-check{background:var(--ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;line-height:1;display:inline-flex}.roadmap-dot{background:var(--ink);border-radius:50%;width:12px;height:12px;font-size:0;display:inline-block}.roadmap-dot-planned{background:var(--ground);border:1px solid var(--ink)}.roadmap-item-body{flex:1;min-width:0}.roadmap-item-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.roadmap-phase{font-family:var(--mono);color:var(--ink-soft);font-size:12px}.roadmap-item-head h3{font-family:var(--serif);margin:0;font-size:19px;font-weight:700;line-height:1.3}.roadmap-item-body p{color:var(--ink-soft);margin:4px 0 0;font-size:16px;font-style:italic;line-height:1.5}.roadmap-planned .roadmap-item-head h3{font-weight:400}.roadmap-group{border-top:none;padding-top:56px;padding-bottom:0}.roadmap-group:first-of-type{padding-top:72px}.not-found{text-align:center;padding:120px 0}.not-found .turn{font-family:var(--math);font-size:clamp(60px,14vw,120px);font-style:italic;line-height:.9;display:block}.docs-content pre{padding-top:2rem;position:relative}.copy-btn{font:400 .85rem/1.2 var(--serif);font-variant:small-caps;color:var(--ink-soft);background:var(--ground);border:1px solid var(--grid-strong);cursor:pointer;opacity:0;padding:.1rem .5rem;transition:opacity .15s;position:absolute;top:.45rem;right:.5rem}.docs-content pre:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn.copied{color:var(--ink);border-color:var(--ink)}.copy-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.def-label{margin-right:.35em;font-weight:700}.definition{font-style:italic}.definition .def-label{font-style:normal}.remark{color:var(--ink-soft)}.sec-intro{max-width:38em;margin:-16px 0 32px}.two .sec-head{margin-bottom:20px}.algorithm{border-top:var(--rule);border-bottom:var(--rule);margin:0}.algorithm figcaption{border-bottom:var(--hair);padding:8px 0;font-size:17px}.algorithm ol{margin:0;padding:14px 0 14px 2.4em;font-size:17px;line-height:1.9}.algorithm li::marker{color:var(--ink-faint);font-size:13px;font-family:var(--mono)}.algorithm li.in1{padding-left:1.6em}.algorithm li.in2{padding-left:3.2em}.algorithm .kw{font-weight:700}.algorithm .fn{font-variant:small-caps}.algorithm i{font-family:var(--math)}.algorithm .cmt{float:right;color:var(--ink-faint);font-size:15px;font-style:italic}.algorithm .cmt:before{content:"▷ ";font-style:normal}.dep-eq{text-align:center;margin:40px 0 0;font-size:20px;position:relative}.dep-eq .pkg-m{font-family:var(--mono);margin:0 .4em;font-size:16px}.dep-eq .eqno{color:var(--ink-soft);position:absolute;right:0}.caption{text-align:center;color:var(--ink-soft);margin:8px 0 0;font-size:16px;font-style:italic}@media (width<=560px){.dep-eq .eqno{display:block;position:static}.algorithm .cmt{display:none}}.sketch{margin:0}.sketch svg{width:100%;height:auto;color:var(--ink);display:block}.sketch .ink path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.sketch .hand{fill:var(--ink);text-anchor:middle;stroke:none;font-family:Caveat,cursive;font-size:22px}.sketch .hand.big{font-size:27px;font-weight:600}.sketch .hand.soft{fill:var(--ink-soft);font-size:20px}.sketch figcaption{color:var(--ink-soft);margin-top:6px;font-size:15px}.sketch .hand.start{text-anchor:start}.sketch .hand.end{text-anchor:end}.sketch .ink path.pill{fill:var(--ground)}.sketch .ink path.lane{stroke:var(--grid-strong);stroke-width:1.2px}.sketch .ink path.flow{stroke-dasharray:5 5;stroke-width:1.3px}.sketch .code{font-family:var(--mono);fill:var(--ink);text-anchor:middle;font-size:13px}.two.even{grid-template-columns:1fr 1fr;align-items:start}@media (width<=820px){.two.even{grid-template-columns:1fr}}.code-fig.astro-code{background:0 0!important}.code-fig{border-top:var(--rule);border-bottom:var(--rule);font-family:var(--mono);color:var(--ink);margin:0;padding:18px 0;font-size:12.5px;line-height:1.7;overflow-x:auto}.sketch .code.sm{font-size:12px}.sketch .code.start{text-anchor:start}.sketch .ink circle{fill:var(--ground);stroke:currentColor;stroke-width:1.6px}.sketch figcaption code{font-family:var(--mono);font-size:.85em}.sec-intro code{font-family:var(--mono);font-size:.82em}.principles-line{color:var(--ink-soft);font-style:italic}.syllabus{border-collapse:collapse;border-top:var(--rule);border-bottom:var(--rule);width:100%;margin-top:32px;font-size:16.5px}.syllabus th{text-align:left;font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:var(--rule);padding:8px 12px 8px 0;font-weight:400}.syllabus td{border-bottom:var(--hair);padding:9px 12px 9px 0}.syllabus tr:last-child td{border-bottom:none}.syllabus .n{width:2em;font-weight:700}.syllabus .num{text-align:right;font-family:var(--math);padding-right:0}.syllabus code{font-family:var(--mono);color:var(--ink-soft);font-size:13px}.syllabus a{text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:var(--ink-faint)}@media (width<=560px){.syllabus td:nth-child(3),.syllabus th:nth-child(3){display:none}}.code-fig,.sketch .code,.terminal pre,.docs-content pre,.install{font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0}.install-tabs{gap:18px;margin:34px 0 8px;display:flex}.install-tabs button{cursor:pointer;font-family:var(--serif);font-variant:small-caps;text-transform:lowercase;letter-spacing:.05em;color:var(--ink-faint);background:0 0;border:none;border-bottom:1px solid #0000;padding:0 0 2px;font-size:16px}.install-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.install+.cta-row{margin-top:22px}.hero-loop .wedge{fill:none;stroke:#00000012;stroke-width:48px}.hero-loop .radius{stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round}.hero-loop .hub{fill:var(--ink)}.hero-loop .node{fill:var(--ground);stroke:var(--ink);stroke-width:1.5px;transition:fill .2s}.hero-loop .node.on{fill:var(--ink)}.hero-loop .ev{opacity:.2;transition:opacity .25s}.hero-loop .ev.on{opacity:1}.hero-loop .hand.big{fill:var(--ink-faint);transition:fill .25s}.hero-loop .hand.big.on{fill:var(--ink)}.hero-loop .angle{font-family:var(--math);fill:var(--ink-soft);font-size:15px;font-style:italic}.sketch .code.end{text-anchor:end}.hero-loop .hand.big{font-size:31px}.hero-loop .code.sm{font-size:14px}.hero-loop .angle{font-size:17px}.hero-install{flex-direction:column;align-items:center;margin-top:40px;display:flex}.hero-install .install-tabs{margin-top:0}.hero-install .install{max-width:100%}.hero-install .cta-row{justify-content:center}@media (width<=520px){.install{gap:8px;padding:10px;font-size:clamp(8.5px,2.35vw,13.5px)}.install .dollar{display:none}.install .copy{padding-left:8px;font-size:12px}}.sec-head .mark,.def-label,.pr h3:before,.closing p:after,.eyebrow-hand,.admonition-title{color:var(--pen)}.hero .eyebrow-hand{color:var(--ink-soft)}.admonition{border-left-color:var(--pen)}.sketch .hand.soft{fill:var(--pen)}.sketch .ink path.flow{stroke:var(--pen)}.sketch figcaption{color:var(--ink-soft)}.hero-loop .node.on{fill:var(--pen);stroke:var(--pen)}.hero-loop .ev.on{fill:var(--pen)}.hero-loop .wedge{stroke:#c2402a1f}.hero-loop .angle{fill:var(--ink-soft)}::selection{background:var(--pen);color:#fff}.sketch .draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .5s ease-in-out calc(var(--i) * var(--step))}.sketch.pending .draw{stroke-dashoffset:1px}.sketch .fade{transition:opacity .4s ease calc(var(--i) * var(--step) + .25s)}.sketch.pending .fade{opacity:0}.sketch .dot{fill:var(--ink)}.sketch .angle{font-family:var(--math);fill:var(--ink-soft);font-size:17px;font-style:italic}.sketch .angle.end{text-anchor:end}
