.wasm-row{height:var(--cell);line-height:var(--cell);white-space:pre}.wasm-row span{display:inline-block;height:var(--cell);line-height:var(--cell);vertical-align:top}.wasm-row span.is-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1em;min-width:1em;font-family:Symbols Nerd Font Mono,monospace;font-size:1ch;font-synthesis:none;line-height:1}.wasm-grid .is-cursor{outline:1px solid currentColor;outline-offset:-1px}.wasm-block{position:relative}.wasm-block i{position:absolute;display:block;background:currentColor}.wasm-block.full i{top:0;right:0;bottom:0;left:0}.wasm-block.upper i{top:0;left:0;right:0;height:calc(50% + .5px)}.wasm-block.lower i{bottom:0;left:0;right:0;height:calc(50% + .5px)}.wasm-block.left i{top:0;bottom:0;left:0;width:calc(50% + .5px)}.wasm-block.right i{top:0;bottom:0;right:0;width:calc(50% + .5px)}.wasm-block.three i,.wasm-block.quarter i{top:-1px;bottom:-1px;left:0}.wasm-block.three i{width:37.5%}.wasm-block.quarter i{width:25%}.wasm-draw{position:relative;--sw: 2px;--half: 1px}.wasm-draw i,.wasm-draw b,.wasm-draw .curve{position:absolute;display:block}.wasm-draw i,.wasm-draw b{background:currentColor}.wasm-draw.v i,.wasm-draw.vr i,.wasm-draw.vl i,.wasm-draw.cr i,.wasm-draw.tl i,.wasm-draw.tr i,.wasm-draw.bl i,.wasm-draw.br i,.wasm-draw.stl i,.wasm-draw.str i,.wasm-draw.sbl i,.wasm-draw.sbr i,.wasm-draw.hd b,.wasm-draw.hu b,.wasm-draw.vdash i,.wasm-draw.vdash b{left:calc(50% - var(--half));width:var(--sw)}.wasm-draw.v i,.wasm-draw.vr i,.wasm-draw.vl i,.wasm-draw.cr i{top:calc(var(--half) * -1);bottom:calc(var(--half) * -1)}.wasm-draw.h i,.wasm-draw.hd i,.wasm-draw.hu i,.wasm-draw.cr b,.wasm-draw.tl b,.wasm-draw.tr b,.wasm-draw.bl b,.wasm-draw.br b,.wasm-draw.stl b,.wasm-draw.str b,.wasm-draw.sbl b,.wasm-draw.sbr b,.wasm-draw.vr b,.wasm-draw.vl b,.wasm-draw.hdash i,.wasm-draw.hdash b{top:calc(50% - var(--half));height:var(--sw)}.wasm-draw.h i,.wasm-draw.hd i,.wasm-draw.hu i,.wasm-draw.cr b{left:calc(var(--half) * -1);right:calc(var(--half) * -1)}.wasm-draw.vr b,.wasm-draw.stl b,.wasm-draw.sbl b{left:calc(50% - var(--half));right:calc(var(--half) * -1)}.wasm-draw.vl b,.wasm-draw.str b,.wasm-draw.sbr b{left:calc(var(--half) * -1);right:calc(50% - var(--half))}.wasm-draw.hd b{top:calc(50% - var(--half));bottom:calc(var(--half) * -1)}.wasm-draw.hu b{top:calc(var(--half) * -1);bottom:calc(50% - var(--half))}.wasm-draw.stl i,.wasm-draw.str i{top:calc(50% - var(--half));bottom:calc(var(--half) * -1)}.wasm-draw.sbl i,.wasm-draw.sbr i{top:calc(var(--half) * -1);bottom:calc(50% - var(--half))}.wasm-draw.tl i,.wasm-draw.tr i{top:calc(50% + 2px);bottom:calc(var(--half) * -1)}.wasm-draw.bl i,.wasm-draw.br i{top:calc(var(--half) * -1);bottom:calc(50% + 2px)}.wasm-draw.tl b,.wasm-draw.bl b{left:calc(50% + 2px);right:calc(var(--half) * -1)}.wasm-draw.tr b,.wasm-draw.br b{left:calc(var(--half) * -1);right:calc(50% + 2px)}.wasm-draw .curve{width:4px;height:4px;background:none}.wasm-draw.tl .curve{left:calc(50% - var(--half));top:calc(50% - var(--half));background:radial-gradient(circle at 100% 100%,transparent 2px,currentColor 2px,currentColor 4px,transparent 4px)}.wasm-draw.tr .curve{right:calc(50% - var(--half));top:calc(50% - var(--half));background:radial-gradient(circle at 0% 100%,transparent 2px,currentColor 2px,currentColor 4px,transparent 4px)}.wasm-draw.bl .curve{left:calc(50% - var(--half));bottom:calc(50% - var(--half));background:radial-gradient(circle at 100% 0%,transparent 2px,currentColor 2px,currentColor 4px,transparent 4px)}.wasm-draw.br .curve{right:calc(50% - var(--half));bottom:calc(50% - var(--half));background:radial-gradient(circle at 0% 0%,transparent 2px,currentColor 2px,currentColor 4px,transparent 4px)}.wasm-draw.vdash i{top:8%;height:30%}.wasm-draw.vdash b{top:58%;height:30%}.wasm-draw.hdash i{left:8%;width:30%}.wasm-draw.hdash b{left:58%;width:30%}.term.is-wasm .wasm-grid{position:relative}.wasm-pics{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.wasm-pics img{position:absolute;object-fit:contain;object-position:center;pointer-events:none}.wasm-pics img.is-avatar,.wasm-pics img.is-square{object-fit:cover}.wasm-pics img.is-avatar{border-radius:50%}.wasm-pics img.is-square{border-radius:20%}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Symbols Nerd Font Mono;src:url(/fonts/SymbolsNerdFontMono-Regular.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+F0065,U+F009C,U+F00C0,U+F00C3,U+F0128,U+F012C,U+F0156,U+F0182,U+F01D8,U+F02D1,U+F02D5,U+F0339,U+F0456,U+F0791,U+F0976,U+F0A9E-F0AA5}:root,[data-theme=dark]{color-scheme:dark;--bg: #000;--fg: #ededed;--muted: #a1a1a1;--line: #262626;--term: #e7e9ea;--dim: #8b98a5;--surface: #16181c;--code: #161616;--snippet: #0a0a0a;--dot: #3a3b3d;--blue: #1d9bf0;--pink: #f91880;--green: #00ba7c;--amber: #d08a3c;--rose: #e5689a;--coral: #ee6e4e;--sage: #7db86b;--violet: #a57fe0;--teal: #3cb8a6;--gold: #d6b34a;--sky: #6aa8e8;--indigo: #8480ff;--rule: #2f3336}[data-theme=light]{color-scheme:light;--bg: #fff;--fg: #0f1419;--muted: #536471;--line: #d9e1e5;--term: #0f1419;--dim: #536471;--surface: #f2f5f6;--code: #eef3f4;--snippet: #f7f9fa;--dot: #cfd8dc;--blue: #1a8cd8;--pink: #e0176f;--green: #00a36e;--amber: #b36a1c;--rose: #cc4a7f;--coral: #d24c2b;--sage: #4c9a3a;--violet: #7e52c7;--teal: #13917f;--gold: #a8841a;--sky: #3a82cc;--indigo: #563acc;--rule: #d9e1e5}@media (prefers-color-scheme: light){[data-theme=auto]{color-scheme:light;--bg: #fff;--fg: #0f1419;--muted: #536471;--line: #d9e1e5;--term: #0f1419;--dim: #536471;--surface: #f2f5f6;--code: #eef3f4;--snippet: #f7f9fa;--dot: #cfd8dc;--blue: #1a8cd8;--pink: #e0176f;--green: #00a36e;--amber: #b36a1c;--rose: #cc4a7f;--coral: #d24c2b;--sage: #4c9a3a;--violet: #7e52c7;--teal: #13917f;--gold: #a8841a;--sky: #3a82cc;--indigo: #563acc;--rule: #d9e1e5}}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:Geist Mono,ui-monospace,monospace;font-size:14px;line-height:21px;font-variant-ligatures:none;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:1px solid var(--fg);outline-offset:3px}.skip{position:absolute;left:16px;top:8px;padding:4px 8px;background:var(--bg);color:var(--fg);transform:translateY(-150%)}.skip:focus{transform:none}.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header,footer{display:flex;align-items:center;gap:clamp(10px,3vw,24px);padding:0 32px}header{min-height:64px}@media (min-width: 801px){.site{padding-top:var(--header-h, 64px)}header{position:fixed;top:0;left:0;right:0;z-index:41;background:var(--bg);transform:translateZ(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.chrome-away header{transform:translate3d(0,calc(-100% - 1px),0)}}@media (min-width: 801px) and (prefers-reduced-motion: reduce){header{transition:none}}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg);font-weight:700;text-decoration:none}.mark{display:block;flex:none;border-radius:5px}img.mark{border:1px solid var(--line)}header nav{display:flex;gap:clamp(10px,3vw,24px)}header nav a,footer a{color:var(--muted);font-size:13px;text-decoration:none}header nav a:hover,footer a:hover{color:var(--fg)}.themes{display:flex;align-items:center;gap:10px;margin-left:auto}.themes button{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.themes button[aria-checked=true]{color:var(--fg)}main{padding:8px 32px 0}h1{margin:0;max-width:16em;color:var(--fg);font-size:22px;font-weight:700;line-height:28px;letter-spacing:-.02em;text-wrap:balance}.stage{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:28px 40px;align-items:center;margin-top:12px;width:100%}.stage h1{max-width:none}.so-mark{display:flex;align-items:baseline;margin:0 0 16px;min-height:1em;color:var(--fg);font-family:Geist Mono,ui-monospace,monospace;font-size:40px;font-weight:700;font-synthesis:none;line-height:1;letter-spacing:0;white-space:nowrap}.so-run,.so-keep,.so-tail-text{font:inherit;letter-spacing:inherit}.so-tail{flex:none;min-width:0;max-width:12em;overflow:hidden;white-space:nowrap;transition:max-width .55s cubic-bezier(.45,0,.2,1)}.so-tail.is-gone{max-width:0}.so-cursor{flex:none;color:var(--blue);font:inherit;font-weight:700;line-height:1;letter-spacing:0}.so-cursor.is-blink{animation:so-blink 1.06s steps(1,end) infinite}@keyframes so-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width: 720px){.so-mark{font-size:32px}}@media (prefers-reduced-motion: reduce){.so-tail{transition:none}.so-cursor.is-blink{animation:none}}.stage-demo .term{margin-top:0}.stage .install button{white-space:normal}.nets{display:flex;flex-wrap:wrap;gap:6px 14px;margin:16px 0 0;font-size:13px;line-height:21px}.nets a{text-decoration:none}.nets a:hover{text-decoration:underline;text-underline-offset:2px}.install{margin:14px 0 0;overflow-x:auto}.install button{padding:0;border:0;background:none;color:var(--fg);font:inherit;line-height:21px;white-space:nowrap;cursor:pointer;text-align:left}.install button:hover .cmd{text-decoration:underline;text-underline-offset:2px}.meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;color:var(--muted);font-size:13px;line-height:21px}.meta a{color:var(--muted)}.meta code,.prose code,.features code,.keys code{font:inherit;color:var(--fg)}.term{margin-top:28px;width:min(100%,calc(92ch + 12px));border:1px solid var(--line);border-radius:10px;background:var(--bg);font-family:Geist Mono,Symbols Nerd Font Mono,ui-monospace,monospace;font-size:13px;--cell: 17px;line-height:var(--cell)}.term.is-live{border-color:var(--dim)}.term-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:36px;padding:0 10px 0 14px;color:var(--muted)}.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:var(--dot);display:block}.term-title{color:var(--muted)}.term-tools{justify-self:end;display:flex;align-items:center;gap:4px}.term-sizes{display:flex;align-items:center;gap:2px}.size-btn{width:28px;height:28px;padding:0;border:0;border-radius:6px;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center}.size-btn:hover,.size-btn[aria-pressed=true]{color:var(--fg)}.size-btn[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--line)}.size-btn i{display:block;box-sizing:border-box;border:1.5px solid currentColor;border-radius:2px}.size-btn[data-size=mobile] i{width:8px;height:14px;border-radius:2px}.size-btn[data-size=tablet] i{width:12px;height:15px}.size-btn[data-size=desktop] i{width:16px;height:11px;position:relative}.size-btn[data-size=desktop] i:after{content:"";position:absolute;left:4px;right:4px;bottom:-4px;height:1.5px;background:currentColor;border-radius:1px}.term-full{margin-left:8px;color:var(--muted);font-size:12px;line-height:24px;text-decoration:none;white-space:nowrap}.term-full:hover{color:var(--fg)}.site.reader .term-full{display:none}.term-hint,.term-layout{margin-right:6px}.term.is-live .term-hint{display:none}.icon-btn{width:24px;height:24px;padding:0;border:0;border-radius:999px;background:none;color:transparent;font:inherit;font-size:0;line-height:0;overflow:hidden;cursor:pointer;position:relative}.icon-btn:before{content:"(i)";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:12px;line-height:24px}#expand:before{content:"⤢";font-size:14px}.term.is-open #expand:before{content:"⤡"}.icon-btn:hover:before{color:var(--fg)}.about{margin:0;padding:10px 16px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:19px}.screen{display:flex;flex-direction:column;height:520px;padding:4px 4px 8px;color:var(--term);outline:none;overflow-x:auto;overflow-y:hidden}.term.is-open .screen{height:680px}.screen:focus-visible{outline:none}.wasm-grid{display:none}.term.is-wasm .wasm-grid{display:block;flex:1;min-height:0;overflow:hidden;font-variant-ligatures:none}.term.is-wasm .screen{touch-action:pan-x}.term.is-wasm .chrome,.term.is-wasm .feed{display:none}.term.can-split{width:calc(124ch + 12px)}.term.is-mobile{width:390px;max-width:none}.term.is-mobile .screen{height:700px}.term.is-tablet{width:768px;max-width:none}.term.is-tablet .screen{height:900px}.term.is-desktop{width:1280px;max-width:none}.term.is-desktop .screen{height:800px}.chrome,.feed{min-width:92ch}.feed{position:relative;flex:1;min-height:0;overflow:auto;scrollbar-color:var(--line) transparent}.row{white-space:pre;min-width:92ch;min-height:var(--cell)}.row.is-sel{background:var(--surface)}.rule{height:1px;margin:6px 0;background:var(--rule)}.card-row{display:flex;align-items:stretch;min-width:92ch}.card-row.is-sel{background:var(--surface)}.card-row .indent{flex:none;white-space:pre}.card{width:56ch;margin:1px 0;border:1px solid var(--rule);background:var(--bg)}.card-h,.card-alt{display:flex;justify-content:space-between;gap:12px;padding:1px 8px 0;color:var(--dim);min-width:0}.card-alt span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.card-alt{padding-bottom:3px}.card svg{display:block;width:calc(100% - 16px);height:72px;margin:4px 8px 2px;background:var(--surface)}.b{font-weight:700}.dim{color:var(--dim)}.blue{color:var(--blue)}.pink{color:var(--pink)}.green{color:var(--green)}.amber{color:var(--amber)}.rose{color:var(--rose)}.coral{color:var(--coral)}.sage{color:var(--sage)}.violet{color:var(--violet)}.indigo{color:var(--indigo)}.teal{color:var(--teal)}.gold{color:var(--gold)}.sky{color:var(--sky)}.rulec{color:var(--rule)}.touch{display:none;gap:8px;margin-top:10px}.touch button{min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:6px;background:none;color:var(--muted);font:inherit;cursor:pointer}.touch button:hover{color:var(--fg)}.prose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 48px;width:100%;margin-top:48px;color:var(--muted)}.prose p{margin:0}.prose a{color:var(--fg);text-underline-offset:2px}.features,.keys{color:var(--muted);line-height:1.75}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;width:100%;margin-top:64px}.features h2,.keys h2,.keys h3{margin:0 0 4px;color:var(--fg);font-size:14px;font-weight:700;line-height:21px}.features h2 a{color:inherit;text-decoration:none}.features h2 a:hover{text-decoration:underline;text-underline-offset:2px}.features p,.keys>p{margin:0}.keys{width:100%;margin-top:64px}.keys h2{margin-bottom:4px}.keys .key-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;align-items:start;margin-top:28px}.keys .key-group h3{margin-top:0}footer{margin-top:16px;padding-top:32px;padding-bottom:40px}@media (min-width: 1201px){.stage{max-width:none}.stage-demo .term:not(.is-mobile):not(.is-tablet):not(.is-desktop){width:calc(92ch + 12px)}}@media (max-width: 1200px){.stage{display:block;max-width:none}.stage-demo{margin-top:28px}}.stage.room{max-width:none}.stage:has(.term.is-mobile),.stage:has(.term.is-tablet),.stage:has(.term.is-desktop){max-width:none}@media (max-width: 1200px){.stage.room{max-width:calc(124ch + 12px)}}@media (min-width: 1500px){.prose,.features,.keys .key-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 800px){.prose,.features,.keys .key-groups{grid-template-columns:1fr}}@media (max-width: 720px){header,footer,main{padding-left:20px;padding-right:20px}header{flex-wrap:wrap;row-gap:8px;padding-top:12px;padding-bottom:12px}.term-hint,.term-layout{display:none}.install button{white-space:normal}}@media (pointer: coarse){.touch{display:flex}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.site.reader{min-height:100vh;padding-top:0}.site.reader main{display:flex;flex-direction:column;min-height:100vh;padding:0}.reader-only,.reader-only>div{flex:1;display:flex;flex-direction:column;min-height:0}.site.reader .term:not(.is-mobile):not(.is-tablet):not(.is-desktop){display:flex;flex-direction:column;width:100%;height:100vh;max-width:none;margin:0;border:0;border-radius:0}.site.reader .term:not(.is-mobile):not(.is-tablet):not(.is-desktop) .term-bar{display:none}.site.reader .term:not(.is-mobile):not(.is-tablet):not(.is-desktop) .screen{flex:1 1 auto;height:auto;min-height:0;padding:0}.site.reader .term.is-mobile,.site.reader .term.is-tablet,.site.reader .term.is-desktop{flex:0 0 auto;margin:auto}.site.docs header{border-bottom:1px solid var(--line)}.head-install{margin-left:16px;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.head-install:hover{color:var(--fg)}.docs-shell{display:grid;grid-template-columns:200px minmax(0,800px);column-gap:48px;align-items:start;max-width:1100px;padding:8px 32px 0}.docs-nav{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.docbar{display:flex;justify-content:flex-end;border-bottom:0}.copy-llm{margin:12px 0 0;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;line-height:24px;cursor:pointer;white-space:nowrap}.copy-llm:hover{color:var(--fg)}.browse{border-bottom:0}.browse summary{padding:12px 32px;color:var(--fg);font-size:14px;cursor:pointer;list-style:none}.browse summary::-webkit-details-marker{display:none}.browse summary:before{content:"☰  ";color:var(--muted)}.docs-nav nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:4px 0 28px}.browse nav{padding:4px 32px 28px}.browse p{margin:18px 0 4px;color:var(--muted)}.browse a{display:block;color:var(--muted);text-decoration:none;line-height:24px}.browse a:hover,.browse a[aria-current=page]{color:var(--fg)}main.doc{max-width:none;padding:0 0 64px;line-height:1.75}.doc h1{margin:28px 0 16px;max-width:18em;color:var(--fg);font-size:22px;font-weight:700;line-height:28px;letter-spacing:-.02em}.doc h2{margin:32px 0 12px;padding-top:24px;border-top:1px solid var(--line);color:var(--fg);font-size:14px;font-weight:700;line-height:21px}.doc p{margin:16px 0}.doc a{color:var(--fg);text-underline-offset:2px}.doc code{padding:2px 6px;background:var(--code);color:var(--fg);font:inherit}.snippet{position:relative;margin:16px 0}.snippet pre{margin:0;padding:16px 48px 16px 16px;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--snippet);color:var(--fg);font:inherit;line-height:21px;white-space:pre}.snippet pre code{padding:0;background:none}.copy-code{position:absolute;top:10px;right:10px;padding:0 4px;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.copy-code:hover{color:var(--fg)}.doc table{width:100%;margin:16px 0;border-collapse:collapse;font-size:13px;line-height:21px}.doc th,.doc td{padding:6px 10px 6px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.doc th{color:var(--fg);font-weight:700}.doc td code{overflow-wrap:anywhere}.doc h3{margin:22px 0 0;color:var(--fg);font-size:14px;font-weight:700;line-height:21px}.doc dl{display:grid;grid-template-columns:12em 1fr;margin:8px 0 0}.doc dt{color:var(--fg)}.doc dd{margin:0;color:var(--muted)}.doc .next{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}@media (min-width: 801px){.docs-nav{top:calc(var(--header-h, 64px) + 12px);transition:top .3s cubic-bezier(.4,0,.2,1)}.site.chrome-away .docs-nav{top:12px}.docs-nav .browse summary{display:none}.docs-nav .browse nav{padding:8px 0 32px}}@media (min-width: 801px) and (prefers-reduced-motion: reduce){.docs-nav{transition:none}}@media (max-width: 800px){.site.docs{padding-top:var(--chrome-h, 109px)}.docs-shell{display:block;padding:0}.docs-nav{position:static;max-height:none;overflow:visible}.browse{border-bottom:0}.site.docs header,.site.docs .docs-nav .browse summary{position:fixed;left:0;right:0;z-index:40;background:var(--bg);transform:translateZ(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}.site.docs header{top:0;z-index:41}.site.docs .docs-nav .browse summary{top:var(--header-h, 64px);border-bottom:1px solid var(--line)}.site.docs.chrome-away header,.site.docs.chrome-away .docs-nav .browse summary{transform:translate3d(0,calc(-1 * var(--chrome-h, 109px) - 1px),0)}.browse summary,.browse nav,.docs-body .docbar,main.doc{padding-left:20px;padding-right:20px}.copy-llm{margin-right:0}}@media (max-width: 800px) and (prefers-reduced-motion: reduce){.site.docs header,.site.docs .docs-nav .browse summary{transition:none}}@media (max-width: 800px){.doc table{display:block;max-width:100%;overflow-x:auto}}@media (max-width: 480px){.doc dl{grid-template-columns:1fr}.doc dd{margin:0 0 10px}}@font-face{font-family:Geist;src:url(/fonts/Geist-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}.book{font-family:Geist,sans-serif;font-size:16px;line-height:24px}.book h1,.book h2{font-weight:700;letter-spacing:-.03em}.book h1{font-size:40px;line-height:44px;margin:8px 0 16px}.book h2{font-size:22px;line-height:28px;margin:48px 0 12px}.book main{max-width:960px;margin:0 auto;padding:28px 24px 96px}.book p{margin:0 0 14px}.book a{text-decoration-thickness:1px;text-underline-offset:3px}.book .lede{max-width:62ch}.book .hero{display:flex;align-items:center;gap:28px;margin:28px 0 8px}.book .hero-plate{background:#fff;padding:12px;flex:none}.book .hero-plate img{display:block;width:220px;height:220px}.book code,.book .token{font-family:Geist Mono,ui-monospace,monospace;font-size:.92em}.book .swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 20px;margin:8px 0 4px}.book .swatch{display:flex;align-items:center;gap:10px}.book .chip{width:28px;height:28px;flex:none;border:1px solid var(--line)}.book .swatch span{display:flex;flex-direction:column;gap:2px}.book .swatch small{color:var(--muted)}.book .matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;margin-top:8px}.book .cell figcaption,.book .sizes figcaption{margin-top:8px;color:var(--muted);font-size:13px;line-height:18px}.book .plate{padding:12px;display:flex;align-items:center;justify-content:center;min-height:152px}.book .plate img{width:128px;height:128px;display:block}.book .plate.white{background:#fff}.book .plate.dark{background:#000}.book .plate.clear{background-color:#eee;background-image:linear-gradient(45deg,#d5d5d5 25%,transparent 25%),linear-gradient(-45deg,#d5d5d5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d5d5d5 75%),linear-gradient(-45deg,transparent 75%,#d5d5d5 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.book .sizes{display:flex;align-items:flex-end;flex-wrap:wrap;gap:20px;background:#fff;padding:12px 16px;margin-top:8px}.book .sizes figcaption{flex-basis:100%;margin-top:0}.book .sizes img{display:block;height:auto}.book figure{margin:0}@media (max-width: 720px){.book .hero{flex-direction:column;align-items:flex-start}.book .hero-plate img{width:160px;height:160px}.book .matrix{grid-template-columns:1fr 1fr}.book h1{font-size:32px;line-height:36px}}.doc h1,.doc h2,.doc h3,.doc h4,.doc h5,.doc h6,.book h1,.book h2,.book h3{position:relative}.doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;color:var(--muted);font-weight:400;text-decoration:none;opacity:0;transition:opacity .2s}.doc .header-anchor:before{content:"#"}.doc h1:hover .header-anchor,.doc h2:hover .header-anchor,.doc h3:hover .header-anchor,.doc h4:hover .header-anchor,.doc h5:hover .header-anchor,.doc h6:hover .header-anchor,.doc .header-anchor:focus{opacity:1}.features .header-anchor,.keys .header-anchor,.prose .header-anchor{display:none}div[class*=language-]{position:relative;margin:16px 0;border:1px solid var(--line);border-radius:8px;background:var(--snippet)}div[class*=language-]>pre{margin:0;padding:16px 48px 16px 16px;overflow-x:auto;background:none;color:var(--fg);font:inherit;line-height:21px;white-space:pre}div[class*=language-]>pre>code{padding:0;border:0;background:none;color:inherit;font:inherit}div[class*=language-]>span.lang{display:none}div[class*=language-]>button.copy{position:absolute;top:10px;right:10px;padding:0 4px;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;line-height:21px;cursor:pointer}div[class*=language-]>button.copy:before{content:"copy"}div[class*=language-]>button.copy:hover{color:var(--fg)}div[class*=language-]>button.copy.copied:before{content:"copied"}main table{width:100%;margin:16px 0;border-collapse:collapse;font-size:13px;line-height:21px}main th,main td{padding:6px 10px 6px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}main th{color:var(--fg);font-weight:700}.keys table{width:100%;margin:8px 0 0;border-collapse:collapse;font-size:13px;line-height:21px}.keys th,.keys td{padding:5px 16px 5px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.keys th{color:var(--fg);font-weight:700}.keys td:first-child{width:16em;color:var(--fg);white-space:nowrap}.keys tr:last-child td{border-bottom:0}.prose strong,.features strong,.keys strong{color:var(--fg);font-weight:700}.prose ul,.prose ol,.features ul,.features ol{margin:21px 0 0;padding-left:22px}.prose li,.features li{margin:6px 0}.doc ul,.doc ol{margin:16px 0;padding-left:22px}.doc li{margin:6px 0}.doc blockquote{margin:16px 0;padding-left:12px;border-left:1px solid var(--line);color:var(--muted)}.doc hr{height:1px;margin:32px 0;border:0;background:var(--line)}.doc img{max-width:100%;height:auto}
