@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2");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:Lattice Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600.woff2)format("woff2");unicode-range:U+41-5A,U+61-7A}:root{--lattice-sky:#e0956a;--lattice-ground:#5c6f4a;--lattice-ink:#1a1b28;--lattice-brand:#b04a3a;--lattice-metal:#6f7686;--lattice-glass:#c79a76;--lattice-warn:#e0a13c;--lattice-ok:#4c9c5c;--lattice-bad:#b23c36;--lattice-night:#141a38;--lattice-page:#181410;--lattice-panel:#231d17;--paper:#f1eee7;--dim:#a29d94;--dimmer:#8b867d;--tint:#c79a76;--accent:var(--lattice-warn);--rule:color-mix(in srgb, var(--paper) 11%, transparent);--rule-soft:color-mix(in srgb, var(--paper) 6%, transparent);--plate:color-mix(in srgb, var(--lattice-panel) 72%, transparent);--mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sans:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif;--display:"Lattice Display", "Iowan Old Style", Georgia, "Times New Roman", serif;--gutter:clamp(20px, 5vw, 56px);--rail:13ch;--bay:clamp(28px, 5vw, 76px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:var(--accent)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}body{background:var(--lattice-page);color:var(--paper);font:400 clamp(15px, 1.03vw, 17px)/1.62 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}#ground{z-index:0;pointer-events:none;opacity:.55;transition:opacity .4s linear;position:fixed;inset:0}.page{z-index:1;position:relative}h1,h2,h3,h4{font-family:var(--mono);margin:0;font-weight:500}p{max-width:66ch;margin:0 0 1.05em}p:last-child{margin-bottom:0}strong{color:var(--paper);font-weight:600}em{color:var(--accent);font-style:normal}a{color:var(--paper);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 60%, transparent);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}code,kbd,samp,pre{font-family:var(--mono)}.eyebrow{font:600 11px/1 var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}.lede{color:color-mix(in srgb, var(--paper) 88%, transparent);max-width:58ch;font-size:clamp(17px,1.5vw,21px);line-height:1.5}.note{font:400 13px/1.55 var(--mono);color:var(--dimmer);max-width:74ch}.note a{color:var(--dim)}.shell{max-width:1280px;padding-inline:var(--gutter);margin-inline:auto}.section{grid-template-columns:var(--rail) minmax(0, 1fr);gap:var(--bay);border-top:1px solid var(--rule-soft);padding-block:clamp(64px,7.5vw,104px);display:grid}.section>.marker{font:500 12px/1.4 var(--mono);letter-spacing:.02em;color:var(--dimmer);align-self:start;height:0;position:sticky;top:32px}.section>.marker a{color:inherit;text-decoration:none;display:block}.section>.marker a:hover{color:var(--accent)}.section h2{letter-spacing:-.03em;max-width:31ch;margin-bottom:18px;font-size:clamp(24px,2.6vw,34px)}.body>*+*{margin-top:30px}.section>.body>h3{letter-spacing:-.02em;margin-top:44px;font-size:19px}.section>.body>h3+p{margin-top:14px}ul.plain{gap:14px;margin:0;padding:0;list-style:none;display:grid}ul.plain>li{border-left:1px solid var(--rule);max-width:66ch;color:color-mix(in srgb, var(--paper) 84%, transparent);padding-left:16px}.said{font:400 13.5px/1.6 var(--mono);color:var(--dim);text-wrap:pretty;gap:10px;max-width:78ch;margin:0;display:flex}.said>span{color:var(--dimmer);-webkit-user-select:none;user-select:none;flex:none}.said code{color:color-mix(in srgb, var(--paper) 88%, transparent)}.said b{color:var(--accent);font-weight:600}.said-lead{font-size:clamp(14px,1.15vw,16px)}.games{gap:22px;display:grid}.games-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.game{gap:9px;display:grid;position:relative}.game .stage{border:1px solid var(--rule)}.game-body{gap:7px;display:grid}.game .tile-head h3{font-size:15px}@media (max-width:620px){.game .tile-head{gap:3px;display:grid}.game .tile-head span{text-align:left}}.note.flaw{border-left:1px solid color-mix(in srgb, var(--accent) 45%, transparent);margin-top:2px;padding-left:12px}ul.vendors{gap:12px;max-width:66ch;margin:0;padding:0;list-style:none;display:grid}ul.vendors>li{border-left:1px solid var(--rule);grid-template-columns:10ch minmax(0,1fr);align-items:baseline;gap:8px 16px;padding-left:16px;display:grid}ul.vendors b{font:600 11px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}ul.vendors span{flex-wrap:wrap;gap:6px 18px;display:flex}ul.vendors a{font:400 14px/1.5 var(--sans);color:color-mix(in srgb, var(--paper) 84%, transparent);border-bottom:1px solid var(--rule);text-decoration:none}ul.vendors a:hover{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width:620px){ul.vendors>li{grid-template-columns:minmax(0,1fr)}}b.ok,b.warn{font:600 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}b.ok{color:var(--lattice-ok)}b.warn{color:var(--accent)}@media (max-width:900px){.section{grid-template-columns:minmax(0,1fr);gap:14px}.section>.marker{height:auto;position:static}}.topbar{padding:18px var(--gutter);justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin-inline:auto;display:flex}.wordmark{font:600 clamp(27px, 2.5vw, 35px)/1 var(--display);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--paper);align-items:baseline;gap:16px;margin-block:-6px;text-decoration:none;display:flex}.wordmark:hover{color:var(--accent)}.wordmark small{font:500 10px/1 var(--mono);letter-spacing:.2em;color:var(--accent)}.masthead{align-items:center;gap:clamp(12px,1.6vw,20px);min-width:0;display:flex}.news{border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent);font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;color:color-mix(in srgb, var(--paper) 82%, transparent);white-space:nowrap;align-items:baseline;gap:8px;padding:5px 11px 6px;text-decoration:none;display:flex}.news b{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:9.5px;font-weight:600}.news time{color:var(--dim)}.news:hover{border-color:var(--accent);color:var(--paper)}@media (max-width:1080px){.news span{display:none}}@media (max-width:700px){.topbar{flex-wrap:wrap;row-gap:11px}.masthead{display:contents}.wordmark{order:1}.topnav{order:2}.news{flex:100%;order:3;max-width:max-content}.news span{display:revert}}.topnav{font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;gap:clamp(13px,1.6vw,22px);display:flex}.topnav a{color:var(--dim);border-bottom:1px solid #0000;padding-bottom:4px;text-decoration:none}.topnav a:hover{color:var(--accent)}.topnav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width:900px){.topnav a[href$=\#what]{display:none}}@media (max-width:820px){.topnav a[href$=\#start]{display:none}}@media (max-width:430px){.topnav a[href$=\#sentence]{display:none}}@media (max-width:560px){.topnav a[href$=\#why],.topnav a[href="/reference/"]{display:none}}.hero{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:stretch;min-height:min(100svh - 84px,940px);display:grid;position:relative}.hero-world{background:var(--lattice-page);border-left:1px solid var(--rule);position:relative;overflow:hidden}.hero-stage{position:absolute;inset:0}.hero-stage iframe{transform-origin:0 0;border:0;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.hero-copy{padding:clamp(28px, 5vw, 68px) clamp(24px, 4vw, 60px) clamp(28px, 5vw, 68px) var(--gutter);align-self:center}.hero-copy .eyebrow{color:var(--accent);margin:0}.hero-copy h1{font:500 clamp(26px, 2.9vw, 42px)/1.12 var(--mono);letter-spacing:-.05em;color:var(--accent);margin:0}.hero-sub{color:color-mix(in srgb, var(--paper) 84%, transparent);max-width:54ch;margin:0;font-size:clamp(15px,1.25vw,18px);line-height:1.55}.hero-copy>*+*{margin-top:clamp(15px,1.9vw,24px)}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.cta{font:600 12px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--lattice-page);background:var(--accent);border:1px solid var(--accent);white-space:nowrap;align-items:center;gap:9px;padding:14px 20px;text-decoration:none;display:inline-flex}.cta:hover{background:color-mix(in srgb, var(--accent) 84%, var(--paper))}.cta.ghost{color:var(--paper);border-color:var(--rule);background:0 0}.cta.ghost:hover{color:var(--accent);border-color:var(--accent);background:0 0}.hint{z-index:3;border:1px solid color-mix(in srgb, var(--paper) 22%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:none;font:500 11px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 88%, transparent);pointer-events:none;opacity:0;background:#080503d1;border-radius:999px;align-items:center;gap:9px;margin:0;padding:9px 14px 9px 11px;transition:opacity .42s linear;display:flex;position:absolute;bottom:clamp(14px,2.4vh,26px);left:clamp(14px,2vw,24px)}.hint b{color:var(--accent);font-weight:600}.hint .hand{width:17px;height:17px;color:var(--accent);display:block}.hint[data-hint=on]{opacity:1;animation:2s ease-in-out infinite mime}@keyframes mime{0%,to{transform:translate(-11px)}50%{transform:translate(11px)}}.play{z-index:3;font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lattice-page);background:var(--accent);cursor:pointer;border:0;width:100%;padding:15px 18px;display:none;position:absolute;inset:auto 0 0}.play:hover{background:color-mix(in srgb, var(--accent) 84%, var(--paper))}@media (pointer:coarse){.play{display:block}.hint{display:none}}[data-state=ask] .play{display:block}[data-state=ask] .hint{display:none}@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);min-height:0}.hero-world{border-left:0;border-bottom:1px solid var(--rule);order:-1;height:clamp(230px,36svh,400px)}.hero-copy{padding:clamp(22px, 5vw, 40px) var(--gutter);align-self:start;max-width:none}.hero-copy h1{font-size:clamp(23px,6.6vw,34px)}.hero-copy>*+*{margin-top:13px}.hero-cta .cta{flex:auto;justify-content:center}}.proof{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(158px,1fr));margin:0;padding:0;list-style:none;display:grid}.proof>li{border-left:1px solid var(--rule-soft);position:relative}.proof>li:first-child{border-left:0}.proof>li[data-pair]{background:color-mix(in srgb, var(--accent) 5%, transparent)}.proof>li[data-pair]+li[data-pair]{border-left-color:#0000}.fig{text-align:left;width:100%;color:inherit;font:inherit;cursor:help;background:0 0;border:0;padding:22px clamp(16px,1.8vw,26px) 20px;display:block}.fig .k{font:500 10px/1.4 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--dim);white-space:nowrap;margin-bottom:7px;display:block}.fig .v{font:500 clamp(21px, 2.2vw, 28px)/1.15 var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--paper);display:block}.fig .v small{font-size:.5em;line-height:inherit;vertical-align:baseline;letter-spacing:.02em;color:var(--dim);margin-left:4px}.fig .v.live{white-space:nowrap;color:var(--accent);font-size:clamp(18px,1.8vw,23px)}.fig .v.live .hot{color:var(--lattice-bad)}.fig .v.live>span:empty:before{content:"—";color:var(--dim)}.fig .k{-webkit-text-decoration:underline dotted color-mix(in srgb, var(--paper) 22%, transparent);text-decoration:underline dotted color-mix(in srgb, var(--paper) 22%, transparent);text-underline-offset:4px}.fig:hover .k,.fig[aria-expanded=true] .k{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.proof .src{z-index:4;background:color-mix(in srgb, var(--lattice-panel) 94%, #000);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);min-width:max(100%,34ch);max-width:min(60ch,92vw);font:400 12px/1.5 var(--mono);color:color-mix(in srgb, var(--paper) 88%, transparent);opacity:0;visibility:hidden;margin:0;padding:12px 14px;transition:opacity .14s linear,visibility .14s;position:absolute;top:100%;left:0}.proof .src b{font:600 9px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:7px;display:block}.proof>li:hover .src,.fig:focus-visible+.src,.fig[aria-expanded=true]+.src{opacity:1;visibility:visible}.proof>li:nth-last-child(-n+2) .src{left:auto;right:0}.prov-note{max-width:none;padding:14px var(--gutter) 0;margin:0}.prov{font:400 11px/1.5 var(--mono);color:var(--dimmer);margin-top:6px;display:block}.prov:before{content:"↳ ";color:var(--accent)}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:22px;display:grid}@media (min-width:901px){.grid{margin-left:calc(-1 * (var(--rail) + var(--bay)))}}.tile{color:inherit;background:color-mix(in srgb, var(--lattice-panel) 80%, #000);border:1px solid var(--rule);text-decoration:none;display:block;position:relative;overflow:hidden}.tile:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.stage{aspect-ratio:var(--w) / var(--h);background:var(--lattice-page);background-position:50%;background-size:cover;position:relative;overflow:hidden}.stage iframe{width:calc(var(--w) * 1px);height:calc(var(--h) * 1px);transform-origin:0 0;pointer-events:none;border:0;display:block;position:absolute;top:0;left:0}.chip{font:500 9.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);align-items:baseline;gap:8px;margin:0;display:flex}.chip:before{content:"idle"}[data-state=held] .chip:before{content:"frame held"}[data-state=paused] .chip:before{content:"paused"}[data-state=live] .chip:before{content:"● live";color:var(--lattice-ok)}.stage:before{content:"";clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:color-mix(in srgb, var(--paper) 4%, transparent);opacity:1;border:0;width:128px;height:64px;margin:-32px 0 0 -64px;transition:opacity .3s linear;position:absolute;top:50%;left:50%}[data-state=live] .stage:before,[data-state=paused] .stage:before,[data-held] .stage:before{opacity:0}.tile-body{gap:7px;padding:15px 18px 18px;display:grid}.tile-head{justify-content:space-between;align-items:baseline;gap:12px;margin-top:3px;display:flex}.tile-head h3{letter-spacing:.01em;color:var(--dim);font-size:14px;font-weight:500}.tile-head span{font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:right}.tile-body p{font:400 13.5px/1.45 var(--sans);color:color-mix(in srgb, var(--paper) 76%, transparent);max-width:none;margin:0}.tile-tag{font:600 9.5px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.tile-by{color:var(--dim);white-space:nowrap;letter-spacing:.14em;font-weight:500}.tile-prompt{font:400 15px/1.42 var(--sans);color:color-mix(in srgb, var(--paper) 92%, transparent);text-wrap:pretty;max-width:44ch;margin:0}.tile-prompt:before{content:"“";color:var(--dim)}.tile-prompt:after{content:"”";color:var(--dim)}.tile-links{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;gap:14px;margin-top:3px;display:flex}.tile-links a{color:var(--dim);text-decoration:none}.tile-links a:hover{color:var(--accent);text-decoration:underline}.tile-open:after{content:"";z-index:1;position:absolute;inset:0}.tile-out{z-index:2;position:relative}.tile:hover .tile-open{color:var(--accent)}.tile:has(.tile-open:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.game:hover .tile-open{color:var(--accent)}.game:has(.tile-open:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.tile-run{z-index:3;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper);border:0;border-top:1px solid color-mix(in srgb, var(--accent) 45%, transparent);cursor:pointer;text-align:left;background:linear-gradient(#0a070494,#0a0704e6);align-items:baseline;gap:8px;width:100%;padding:12px 14px;display:none;position:absolute;inset:auto 0 0}.tile-run b{color:var(--accent);font-weight:600}.tile-run:hover{background:linear-gradient(#0a0704b8,#0a0704f0)}.tile-run:hover b{text-underline-offset:3px;text-decoration:underline}[data-state=ask] .tile-run{display:flex}@media (max-width:900px){.tile:not([data-state=live]) .tile-run,.demo:not([data-state=live]) .tile-run,.game:not([data-state=live]) .tile-run{display:flex}}.showcase{grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:start;gap:20px;display:grid}@media (max-width:900px){.showcase{grid-template-columns:minmax(0,1fr)}.demo .stage{aspect-ratio:3/2}}.demo{gap:8px;display:grid;position:relative}.demo .stage{border:1px solid var(--rule)}.demo .chip{padding-left:1px}.code{border:1px solid var(--rule);border-left:2px solid color-mix(in srgb, var(--accent) 70%, transparent);font:400 12px/1.5 var(--mono);color:color-mix(in srgb, var(--paper) 86%, transparent);tab-size:2;background:#0000006b;margin:0;padding:20px 22px;overflow-x:auto}.code b{color:var(--accent);font-weight:500}.code i{color:var(--tint);font-style:normal}.code u{color:var(--dimmer);text-decoration:none}.shell-cmd{border:1px solid var(--rule);border-left:2px solid var(--accent);max-width:none;font:500 clamp(13px, 1.15vw, 16px)/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#0000006b;margin:0;padding:18px 22px;display:block}.shell-cmd .prompt{color:var(--accent);-webkit-user-select:none;user-select:none}.shell-cmd .arg{color:color-mix(in srgb, var(--paper) 78%, transparent)}.codebox{position:relative}.codebar{z-index:2;gap:6px;display:flex;position:absolute;top:8px;right:8px}.codebar button{font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border:1px solid var(--rule);cursor:pointer;text-align:center;background:#000000b3;min-width:5.5ch;padding:7px 9px}.codebar button:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.codebar button[aria-pressed=true]{color:var(--lattice-page);background:var(--accent);border-color:var(--accent)}.codebox .code{padding-top:34px}.codebox-inline .shell-cmd{padding-right:84px}.codebox[data-wrap=on] .code{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:hidden}.term{border:1px solid var(--rule);background:#0000006b;max-width:min(62ch,100%)}.term-tabs{border-bottom:1px solid var(--rule-soft);flex-wrap:wrap;display:flex}.term-tabs button{font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 14px 9px}.term-tabs button:hover{color:var(--paper)}.term-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.term-body{position:relative}.term-panel{padding:4px 0 0;display:none}.term-panel[data-on=yes]{display:block}.term-note{max-width:none;font:400 12px/1.55 var(--mono);color:var(--dimmer);border-top:1px solid var(--rule-soft);margin:2px 0 0;padding:10px 18px 14px}.term-note code{color:var(--dim)}.term-caveat{max-width:62ch;margin-top:12px}.term-cmd{max-width:none;font:500 clamp(12.5px, 1.05vw, 14.5px)/1.5 var(--mono);white-space:nowrap;margin:0;padding:16px 76px 4px 18px;display:block;overflow-x:auto}.term-cmd+.term-cmd{padding-top:0}.term-cmd:last-of-type{padding-bottom:14px}.term-cmd .prompt{color:var(--accent);-webkit-user-select:none;user-select:none;padding-right:1ch}.term-cmd .type{white-space:nowrap;vertical-align:bottom;width:var(--w);display:inline-block;overflow:hidden}.term-cmd code{color:color-mix(in srgb, var(--paper) 90%, transparent)}.term-cmd .caret{vertical-align:text-bottom;background:var(--accent);width:.6ch;height:1.05em;margin-left:1px;animation:1.05s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.term-panel[data-type=run] .term-cmd .type{animation:type .52s steps(var(--n)) var(--d,0s) both}@keyframes type{0%{width:0}to{width:var(--w)}}.term-copy{font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border:1px solid var(--rule);cursor:pointer;background:#000000b3;min-width:5.5ch;padding:7px 9px;position:absolute;top:8px;right:8px}.term-copy:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}@media (max-width:640px){.term-cmd{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible}.term-cmd .type{width:auto;white-space:inherit;display:inline;overflow:visible}.term-panel[data-type=run] .term-cmd .type{animation:none}.term-cmd .caret{display:none}}ul.plain.traps>li{border-left-color:color-mix(in srgb, var(--accent) 40%, transparent)}.band{border-top:1px solid var(--rule);background:color-mix(in srgb, var(--lattice-panel) 46%, transparent)}.band-in{grid-template-columns:minmax(0,1fr);justify-items:start;gap:22px;padding-block:clamp(56px,7vw,96px);display:grid}.band-in h2{font:500 clamp(26px, 3.2vw, 40px)/1.05 var(--mono);letter-spacing:-.04em;max-width:22ch}.band-in .lede{margin:0}.term-bay{width:100%}.band-links{flex-wrap:wrap;gap:12px;display:flex}table{border-collapse:collapse;width:100%;font:400 13px/1.5 var(--mono)}th,td{text-align:left;border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:9px 14px 9px 0}th{color:var(--dim);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:500}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0}.scroller{overflow-x:auto}.pkgcards{background:var(--rule-soft);border:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;display:grid}.pkgcard{background:color-mix(in srgb, var(--lattice-panel) 44%, transparent);align-content:start;gap:9px;padding:16px 18px;text-decoration:none;display:grid}.pkgcard:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}.pkgcard-top{font:500 13px/1.2 var(--mono);justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pkgcard-top .layer{font:500 9.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dimmer);white-space:nowrap}.pkgcard:hover .pkgcard-top code{color:var(--accent)}.pkgcard .why{font:400 13px/1.5 var(--sans);color:color-mix(in srgb, var(--paper) 76%, transparent)}.pkgcard-foot{font:400 11.5px/1 var(--mono);letter-spacing:.04em;color:var(--dim)}.pkgcard-foot b{color:var(--accent);font-weight:500}.finder-box{align-items:center;gap:12px;max-width:none;margin:0 0 12px;display:flex}.finder-box input{border:1px solid var(--rule);min-width:0;color:var(--paper);font:400 13px/1.2 var(--mono);background:#0006;flex:1;padding:10px 12px}.finder-box input::placeholder{color:var(--dimmer)}.finder-count{font:400 11px/1 var(--mono);letter-spacing:.1em;color:var(--dimmer);font-variant-numeric:tabular-nums;white-space:nowrap}.finder-count b{color:var(--accent);font-weight:500}kbd{font:500 11px/1 var(--mono);border:1px solid var(--rule);color:var(--dim);background:#00000057;padding:3px 5px}.symlist{border:1px solid var(--rule);background:#00000038;max-height:min(62vh,640px);margin:0;padding:0;list-style:none;overflow:auto}.symlist>li{border-bottom:1px solid var(--rule-soft);font:400 12.5px/1.45 var(--mono);grid-template-columns:minmax(0,24ch) max-content 7ch minmax(0,1fr);align-items:baseline;gap:14px;padding:7px 14px;display:grid}.symlist>li[hidden]{display:none}.symlist>li:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}.symlist a{overflow-wrap:anywhere;text-decoration:none}.symlist a code{color:var(--paper)}.symlist a:hover code{color:var(--accent)}.sym-pkg{color:var(--dim)}.sym-sum{font:400 12.5px/1.45 var(--sans);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ref{grid-template-columns:minmax(0,15.5rem) minmax(0,1fr);grid-template-areas:"nav head""nav doc";align-items:start;column-gap:clamp(22px,3.2vw,54px);padding-block:clamp(36px,4.6vw,68px);display:grid}.ref-head{grid-area:head}.ref-nav{grid-area:nav}.ref-doc{grid-area:doc;margin-top:clamp(22px,2.6vw,34px)}.ref-nav{align-self:start;max-height:calc(100vh - 104px);padding-right:6px;position:sticky;top:80px;overflow:auto}.ref-up{font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;text-decoration:none;display:block}.ref-up:hover{color:var(--accent)}.navlist{font:400 12px/1.5 var(--mono);margin:0;padding:0;list-style:none}.navlist ul{margin:0;padding:0;list-style:none}.navlist>li[hidden],.navlist li[hidden]{display:none}.navgroup{font:500 9.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dimmer);margin:16px 0 7px;display:block}.navgroup a{color:inherit;text-decoration:none}.navgroup a:hover{color:var(--accent)}.navlist a{color:var(--dim);overflow-wrap:anywhere;border-left:2px solid #0000;padding:3px 9px;text-decoration:none;display:block}.navlist a:hover{color:var(--paper);background:color-mix(in srgb, var(--paper) 5%, transparent)}.navlist a[aria-current]{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.ref-head>*+*{margin-top:16px}.ref-head h2{font:500 clamp(24px, 3.2vw, 38px)/1.08 var(--mono);letter-spacing:-.04em}.ref-head .eyebrow a{color:inherit;text-decoration:none}.ref-head .eyebrow a:hover{color:var(--accent)}.promises{margin-top:clamp(26px,3vw,40px)}.promises h3,.mod>h3{scroll-margin-top:92px}.promises h3{font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}.promises ul{margin:0;padding-left:1.15em}.promises li{font:400 13.5px/1.6 var(--sans);color:color-mix(in srgb, var(--paper) 80%, transparent);max-width:76ch;margin-bottom:8px}.promises .note{margin-top:12px}.mod{border-top:1px solid var(--rule);margin-top:clamp(28px,3.4vw,46px);padding-block:clamp(28px,3.4vw,46px) 0}.mod>h3{font:500 clamp(19px, 2.1vw, 25px)/1.2 var(--mono);letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.mod>h3 .anchor{color:var(--paper);text-decoration:none}.mod>h3 .anchor:hover{color:var(--accent)}.mod-count{font:400 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dimmer)}.sym{border-top:1px solid var(--rule-soft);padding-block:24px;scroll-margin-top:92px}.sym h4{font:500 15.5px/1.35 var(--mono);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.sym h4 .anchor{text-decoration:none}.sym h4 .anchor code{color:var(--paper)}.sym h4 .anchor:hover code{color:var(--accent)}.kind{font:500 9.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border:1px solid var(--rule);white-space:nowrap;padding:4px 6px}.kind[data-kind=interface],.kind[data-kind=type]{color:var(--tint)}.kind.entry{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.sym-src{font:400 11px/1.4 var(--mono);color:var(--dimmer);white-space:nowrap;margin-left:auto;text-decoration:none}.sym-src:hover{color:var(--accent);text-decoration:underline}.sig{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:13px;padding:14px 16px}h5.sub{font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:22px 0 10px}.params th{font:400 12.5px/1.5 var(--mono);text-transform:none;letter-spacing:0;color:var(--paper);white-space:nowrap;padding-right:18px}.params td p{margin:0}.tagline{grid-template-columns:8.5ch minmax(0,1fr);gap:14px;margin-top:10px;display:grid}.tagline>b{font:500 9.5px/1.9 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:500}.tagline p{font:400 13.5px/1.6 var(--sans);color:color-mix(in srgb, var(--paper) 80%, transparent);margin:0}.tagline p+p{margin-top:8px}.members{border-top:1px solid var(--rule-soft);margin:0}.members dt{font:400 12.5px/1.55 var(--mono);padding-top:12px}.members dt code{color:color-mix(in srgb, var(--paper) 90%, transparent);white-space:pre-wrap;overflow-wrap:anywhere}.members dt code b{color:var(--accent);font-weight:500}.members dt code i{color:var(--tint);font-style:normal}.members dt code u{color:var(--dimmer);text-decoration:none}.members dd{border-bottom:1px solid var(--rule-soft);margin:5px 0 0;padding:0 0 12px}.members dd:empty{padding-bottom:12px}.doc{margin-top:14px}.doc>*+*{margin-top:15px}.doc p,.doc li{font:400 14px/1.62 var(--sans);color:color-mix(in srgb, var(--paper) 82%, transparent)}.doc p{max-width:76ch;margin:0}.doc code{color:var(--tint);overflow-wrap:anywhere;font-size:.94em}.doc a code{color:inherit}.doc .xref{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}.doc h3{font:500 15px/1.35 var(--mono);letter-spacing:-.01em;text-transform:none;color:var(--paper);margin-top:26px}.doc h4,.doc h5,.doc h6{font:500 11px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:22px}.doc ul,.doc ol{max-width:76ch;margin:0;padding-left:1.2em}.doc li{margin-bottom:7px}.doc li:last-child{margin-bottom:0}.doc blockquote{border-left:2px solid color-mix(in srgb, var(--accent) 55%, transparent);margin:0;padding:2px 0 2px 15px}.doc .doc-code{padding:14px 16px;font-size:11.5px}.doc table{font-size:12.5px}.doc td{color:color-mix(in srgb, var(--paper) 80%, transparent)}.doc-lead>*+*{margin-top:18px}.doc-lead p{font-size:15px}.doc-lead>p:first-child{color:color-mix(in srgb, var(--paper) 90%, transparent)}@media (max-width:900px){.ref{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""nav""doc";row-gap:26px}.ref-nav{max-height:none;padding-right:0;position:static;overflow:visible}.ref-doc{margin-top:0}.navlist{border:1px solid var(--rule);max-height:36vh;padding:4px 8px 10px;overflow:auto}.symlist>li{flex-wrap:wrap;align-items:baseline;gap:5px 10px;display:flex}.symlist>li[hidden]{display:none}.symlist>li>a{flex:auto}.sym-sum{white-space:normal;flex:100%}.tagline{grid-template-columns:minmax(0,1fr);gap:4px}}.foot{border-top:1px solid var(--rule);font:400 13px/1.7 var(--mono);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:32px;padding-block:56px 72px;display:grid}.foot h4{font:500 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}.foot ul{margin:0;padding:0;list-style:none}.foot a{color:color-mix(in srgb, var(--paper) 76%, transparent);text-decoration:none}.foot a:hover{color:var(--accent)}.credit{max-width:none;font:400 13px/1.7 var(--mono);color:var(--dimmer);margin:0;padding-bottom:56px}.credit a{color:var(--dim)}.credit a:hover{color:var(--accent)}noscript{display:block}html:not(.js) .hero-world,html:not(.js) .stage,html:not(.js) .tile-run,html:not(.js) .demo,html:not(.js) .play,html:not(.js) .js-only,html:not(.js) #ground{display:none}html:not(.js) .hero{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr);min-height:0}html:not(.js) .hero-copy{padding-inline:var(--gutter)}html:not(.js) .band-in .term-bay{width:auto}noscript .banner{max-width:none;padding:16px var(--gutter);background:color-mix(in srgb, var(--accent) 16%, transparent);border-bottom:1px solid var(--accent);font:500 13px/1.5 var(--mono);color:var(--paper);display:block}.rm-note{display:none}@media (prefers-reduced-motion:reduce){.rm-note{display:block}html{scroll-behavior:auto}*{transition-duration:1ms!important}.hint[data-hint=on]{animation:none}.term-panel[data-type=run] .term-cmd .type{width:var(--w);animation:none}.term-cmd .caret{animation:none}}@media (max-width:640px){.meter{grid-template-columns:1fr auto}.proof div{padding-inline:var(--gutter)}.proof{position:relative}.proof>li{position:static}.proof .src{width:auto;min-width:0;max-width:none;left:0;right:0}}
