.art:where(.astro-7hqrqizb){isolation:isolate;aspect-ratio:16/10;color:var(--cap-icon-fg);background:var(--cap-chrome);position:relative;overflow:hidden;container-type:inline-size}.poster-label:where(.astro-7hqrqizb){font:400 .55rem/1.5 var(--font-mono);letter-spacing:.07em;opacity:.6;position:absolute;top:9%;left:8%}.poster-bottom:where(.astro-7hqrqizb){font:500 .75rem/1.5 var(--intro-heading);justify-content:space-between;align-items:baseline;gap:.5rem;display:flex;position:absolute;bottom:9%;left:8%;right:8%}.poster-bottom:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){font:.55rem/1.5 var(--font-mono);opacity:.55}.workflow:where(.astro-7hqrqizb),.comparison:where(.astro-7hqrqizb),.sharing:where(.astro-7hqrqizb),.plugins:where(.astro-7hqrqizb){background:var(--intro-field)}.terminal:where(.astro-7hqrqizb){background:color-mix(in srgb,var(--intro-feature-free) 6%,var(--cap-chrome))}.terminal-composition:where(.astro-7hqrqizb){width:84%;position:absolute;top:30%;left:8%}.command:where(.astro-7hqrqizb){color:var(--cap-icon-fg);font:400 clamp(.65rem,1.15vw,.95rem)/1.6 var(--font-mono)}.command:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){color:var(--code-string);margin-right:.4rem}.split-panes:where(.astro-7hqrqizb){border:1px solid color-mix(in srgb,var(--code-string) 22%,transparent);border-radius:var(--radius-control);grid-template-columns:1fr 1fr;min-height:3.25rem;margin-top:.8rem;display:grid}.split-panes:where(.astro-7hqrqizb) span:where(.astro-7hqrqizb){font:.7rem var(--font-mono);color:color-mix(in srgb,var(--code-string) 65%,var(--cap-chrome));padding:.65rem .8rem}.split-panes:where(.astro-7hqrqizb) span:where(.astro-7hqrqizb)+span:where(.astro-7hqrqizb){border-left:1px solid color-mix(in srgb,var(--code-string) 22%,transparent)}.customization:where(.astro-7hqrqizb){color:var(--intro-ink);background:var(--intro-field)}.customization:where(.astro-7hqrqizb) .poster-label:where(.astro-7hqrqizb){opacity:.7}.release-composition:where(.astro-7hqrqizb){justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;inset:26% 8% 27%}.release-composition:where(.astro-7hqrqizb) strong:where(.astro-7hqrqizb){font:500 clamp(2.6rem,5vw,4.6rem)/1 var(--intro-heading);letter-spacing:-.05em;color:var(--intro-blue);align-items:baseline;display:flex}.release-composition:where(.astro-7hqrqizb) strong:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){color:var(--intro-copy);margin-left:.2rem;font-size:1.25rem}.release-layout:where(.astro-7hqrqizb){grid-template-columns:1fr 1.8fr;gap:.35rem;width:30%;height:70%;display:grid}.release-layout:where(.astro-7hqrqizb) span:where(.astro-7hqrqizb){border-radius:var(--radius-control);background:color-mix(in srgb,var(--intro-blue) 12%,var(--intro-paper));border:1px solid color-mix(in srgb,var(--intro-blue) 15%,transparent)}.release-layout:where(.astro-7hqrqizb) span:where(.astro-7hqrqizb):first-child{background:color-mix(in srgb,var(--intro-feature-vault) 14%,var(--intro-paper));border-color:color-mix(in srgb,var(--intro-feature-vault) 15%,transparent);grid-row:span 2}.release-layout:where(.astro-7hqrqizb) span:where(.astro-7hqrqizb):last-child{background:var(--intro-paper)}.split-panes:where(.astro-7hqrqizb) b:where(.astro-7hqrqizb){color:var(--code-string);font-weight:400;display:block}.split-panes:where(.astro-7hqrqizb) i:where(.astro-7hqrqizb){font:normal .5rem/1.5 var(--font-mono);color:var(--cap-icon-fg);opacity:.6;margin-top:.45rem;display:block}.terminal-composition:where(.astro-7hqrqizb){top:26%}.command:where(.astro-7hqrqizb){font-size:clamp(.6rem,1vw,.85rem)}.poster-bottom:where(.astro-7hqrqizb),.release-composition:where(.astro-7hqrqizb){flex-wrap:wrap}.workspace-mark:where(.astro-7hqrqizb){--mark-chevron:var(--code-url);--mark-bar:var(--cap-icon-fg);width:32%;position:absolute;top:30%;left:14%}.workspace-mark:where(.astro-7hqrqizb) svg{width:100%;height:auto}.workspace-lines:where(.astro-7hqrqizb){grid-template-columns:repeat(3,1fr);gap:16%;display:grid;position:absolute;inset:-20% -12% -20% 53%;transform:rotate(28deg)}.workspace-lines:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){border:1px solid color-mix(in srgb,var(--code-url) 18%,transparent);border-radius:var(--radius-control)}@container (width<=200px){.poster-label:where(.astro-7hqrqizb){font-size:.42rem;top:10%}.poster-bottom:where(.astro-7hqrqizb){display:none}.terminal-composition:where(.astro-7hqrqizb){top:34%}.command:where(.astro-7hqrqizb){white-space:nowrap;font-size:.48rem}.command:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){margin-right:.15rem}.split-panes:where(.astro-7hqrqizb){min-height:2.5rem;margin-top:.6rem}.split-panes:where(.astro-7hqrqizb) span:where(.astro-7hqrqizb){padding:.45rem;font-size:.45rem}.split-panes:where(.astro-7hqrqizb) i:where(.astro-7hqrqizb){font-size:.38rem}.release-composition:where(.astro-7hqrqizb){inset:30% 8%}.release-composition:where(.astro-7hqrqizb) strong:where(.astro-7hqrqizb){font-size:2.4rem}.release-composition:where(.astro-7hqrqizb) strong:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){font-size:.8rem}.release-layout:where(.astro-7hqrqizb){display:none}}@media (width<=599px){.poster-label:where(.astro-7hqrqizb){font-size:.55rem}.poster-bottom:where(.astro-7hqrqizb){font-size:.8rem}.poster-bottom:where(.astro-7hqrqizb)>span:where(.astro-7hqrqizb){font-size:.5rem}.command:where(.astro-7hqrqizb){font-size:.8rem}}.tunnel-demo.svelte-1a0xczh{color:var(--tunnel-text);background-color:var(--tunnel-bg);background-image:linear-gradient(color-mix(in srgb,var(--tunnel-text) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--tunnel-text) 3%,transparent) 1px,transparent 1px);border-radius:var(--radius-frame);background-size:24px 24px;padding:.5rem 1rem 1rem}.controls.svelte-1a0xczh{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tabs.svelte-1a0xczh{gap:.25rem;display:flex}button.svelte-1a0xczh{border-radius:var(--radius-control);min-height:44px;color:var(--tunnel-muted);font:500 .75rem var(--font-sans);cursor:pointer;background:0 0;border:0;padding:.5rem .75rem}button[aria-selected=true].svelte-1a0xczh{color:var(--tunnel-green);background:color-mix(in srgb,var(--tunnel-green) 8%,transparent)}button.svelte-1a0xczh:hover{color:var(--tunnel-text)}button.svelte-1a0xczh:focus-visible,[role=tabpanel].svelte-1a0xczh:focus-visible{outline:2px solid var(--tunnel-blue);outline-offset:2px}.replay.svelte-1a0xczh{font-weight:400}.scene.svelte-1a0xczh{width:100%;max-width:520px;height:auto;margin:0 auto;display:block}.wire.svelte-1a0xczh{fill:none;stroke:var(--tunnel-muted);stroke-width:1.5px;opacity:.35}.glow-wire.svelte-1a0xczh{fill:none;stroke:var(--tunnel-green);stroke-width:3px;filter:drop-shadow(0 0 5px var(--tunnel-green));opacity:.65}.branches.svelte-1a0xczh{fill:none;stroke:var(--tunnel-muted);stroke-width:1.5px;stroke-dasharray:5 6;opacity:.5}.computer.svelte-1a0xczh{color:var(--tunnel-blue)}.hub.svelte-1a0xczh{color:var(--tunnel-green)}.remote.svelte-1a0xczh{color:var(--tunnel-orange)}.halo.svelte-1a0xczh{fill:none;stroke:currentColor;stroke-width:1px;opacity:.12}.node.svelte-1a0xczh{fill:var(--tunnel-node);stroke:currentColor;stroke-width:1.2px}.icon.svelte-1a0xczh{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.lock.svelte-1a0xczh{fill:currentColor}.keyhole.svelte-1a0xczh{stroke:var(--tunnel-node);stroke-width:2px;stroke-linecap:round}.label.svelte-1a0xczh{fill:var(--tunnel-text);text-anchor:middle;font:500 14px var(--font-sans)}.port.svelte-1a0xczh{fill:var(--tunnel-muted);text-anchor:middle;font:12px var(--font-mono)}.hub-label.svelte-1a0xczh{fill:var(--tunnel-green);text-anchor:middle;font:10px var(--font-mono);letter-spacing:.6px}.cloud-shape.svelte-1a0xczh{fill:var(--tunnel-node);stroke:var(--tunnel-purple);stroke-width:1.3px}.chosen.svelte-1a0xczh .cloud-shape:where(.svelte-1a0xczh){stroke:var(--tunnel-green)}.request.svelte-1a0xczh{fill:var(--tunnel-green);stroke:color-mix(in srgb,var(--tunnel-green) 15%,transparent);stroke-width:9px;paint-order:stroke;offset-distance:100%;filter:drop-shadow(0 0 3px var(--tunnel-green))}.explanation.svelte-1a0xczh{text-align:center;max-width:32rem;color:var(--tunnel-muted);margin:0 auto;font-size:.75rem;line-height:1.6}.accessible-route.svelte-1a0xczh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.request.svelte-1a0xczh{animation:2.8s ease-in-out both svelte-1a0xczh-travel}}@keyframes svelte-1a0xczh-travel{0%{offset-distance:0%}to{offset-distance:100%}}@media (width<=480px){.tunnel-demo.svelte-1a0xczh{padding:.4rem .5rem .75rem}button.svelte-1a0xczh{padding:.5rem .6rem}.explanation.svelte-1a0xczh{font-size:.7rem}}.article-demo:where(.astro-leini5l2){margin-block:1.75rem 2rem}.article-summary:where(.astro-leini5l2){border:1px solid var(--intro-line);border-radius:var(--radius-control);background:var(--intro-field);color:var(--intro-copy);margin-bottom:1.5rem;padding:1rem 1.25rem;line-height:1.75}.article-summary:where(.astro-leini5l2) strong:where(.astro-leini5l2){color:var(--intro-ink);font-size:.8rem}.article-summary:where(.astro-leini5l2) p:where(.astro-leini5l2){margin:.4rem 0 0}.article-shell:where(.astro-leini5l2){max-width:62rem;padding:1.5rem var(--intro-content-gutter) 4rem;box-sizing:content-box;width:calc(100% - 2 * var(--intro-content-gutter));margin-inline:auto}.article-header:where(.astro-leini5l2){max-width:45rem;padding-bottom:1.75rem}.back:where(.astro-leini5l2){min-height:2.75rem;color:var(--intro-copy);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.8rem;text-decoration:none;display:inline-flex}.back:where(.astro-leini5l2):hover{color:var(--intro-blue)}.meta:where(.astro-leini5l2){color:var(--intro-copy);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.meta:where(.astro-leini5l2)>span:where(.astro-leini5l2):first-child{color:var(--intro-blue);font-weight:500}.meta:where(.astro-leini5l2) i:where(.astro-leini5l2),.byline:where(.astro-leini5l2) i:where(.astro-leini5l2){font-style:normal}h1:where(.astro-leini5l2){font:600 clamp(2rem,4.5vw,3.4rem)/1.12 var(--intro-heading);letter-spacing:-.035em;color:var(--intro-ink);overflow-wrap:break-word;margin:.75rem 0 0}.description:where(.astro-leini5l2){color:var(--intro-copy);max-width:62ch;margin:1rem 0 0;font-size:1rem;line-height:1.75}.byline:where(.astro-leini5l2){color:var(--intro-copy);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.25rem;font-size:.75rem;display:flex}.byline:where(.astro-leini5l2)>span:where(.astro-leini5l2):nth-child(2){color:var(--intro-ink);font-weight:500}.author-mark:where(.astro-leini5l2){border-radius:var(--radius-control);width:1.75rem;height:1.75rem;display:block}.article-grid:where(.astro-leini5l2){grid-template-columns:minmax(0,43rem) minmax(0,15rem);align-items:start;gap:3rem;display:grid}.reading-column:where(.astro-leini5l2){min-width:0}.article-art:where(.astro-leini5l2){border-radius:var(--radius-control);margin-bottom:1.75rem;overflow:hidden}.article-art:where(.astro-leini5l2) .art{aspect-ratio:16/10;width:100%}.article-toc:where(.astro-leini5l2){padding-top:.4rem;position:sticky;top:6rem}.article-toc:where(.astro-leini5l2) h2:where(.astro-leini5l2){color:var(--intro-ink);font:600 .75rem/1.5 var(--intro-heading);margin:0 0 .75rem}.article-toc:where(.astro-leini5l2) ol:where(.astro-leini5l2){gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.article-toc:where(.astro-leini5l2) a:where(.astro-leini5l2){color:var(--intro-copy);padding:.4rem 0;font-size:.8rem;line-height:1.5;text-decoration:none;display:block}.article-toc:where(.astro-leini5l2) a:where(.astro-leini5l2):hover{color:var(--intro-blue)}.mobile-contents:where(.astro-leini5l2){border:1px solid var(--intro-line);border-radius:var(--radius-control);margin-bottom:1.25rem;display:none}.mobile-contents:where(.astro-leini5l2) summary:where(.astro-leini5l2){cursor:pointer;min-height:2.75rem;color:var(--intro-ink);justify-content:space-between;align-items:center;padding:.65rem .9rem;font-size:.8rem;list-style:none;display:flex}.mobile-contents:where(.astro-leini5l2) summary:where(.astro-leini5l2)::-webkit-details-marker{display:none}.mobile-contents:where(.astro-leini5l2) summary:where(.astro-leini5l2) span:where(.astro-leini5l2){color:var(--intro-blue);font-size:1rem}.mobile-contents:where(.astro-leini5l2)[open] summary:where(.astro-leini5l2) span:where(.astro-leini5l2){transform:rotate(45deg)}.mobile-contents:where(.astro-leini5l2) ol:where(.astro-leini5l2){margin:0;padding:0 .9rem .65rem;list-style:none}.mobile-contents:where(.astro-leini5l2) a:where(.astro-leini5l2){min-height:2.75rem;color:var(--intro-copy);align-items:center;padding:.5rem 0;font-size:.8rem;line-height:1.5;text-decoration:none;display:flex}.mobile-contents:where(.astro-leini5l2) a:where(.astro-leini5l2):hover{color:var(--intro-blue)}.prose:where(.astro-leini5l2){color:var(--intro-copy);overflow-wrap:break-word;font-size:1rem;line-height:1.85}.prose:where(.astro-leini5l2) p{margin:0 0 1.1rem}.prose:where(.astro-leini5l2) h2{color:var(--intro-ink);font:600 1.55rem/1.35 var(--intro-heading);letter-spacing:-.025em;margin:2.2rem 0 .75rem;scroll-margin-top:6.5rem}.prose:where(.astro-leini5l2) h3{color:var(--intro-ink);font:600 1.15rem/1.4 var(--intro-heading);margin:1.5rem 0 .65rem;scroll-margin-top:6.5rem}.prose:where(.astro-leini5l2) .sl-heading-wrapper{margin-top:2.2rem}.prose:where(.astro-leini5l2) .sl-heading-wrapper h2{margin:0}.prose:where(.astro-leini5l2) .sl-anchor-link{display:none}.prose:where(.astro-leini5l2) strong{color:var(--intro-ink);font-weight:600}.prose:where(.astro-leini5l2) a{color:var(--intro-blue);text-decoration-thickness:1px;text-decoration-color:var(--intro-line);text-underline-offset:.2em}.prose:where(.astro-leini5l2) a:hover{text-decoration-color:currentColor}.prose:where(.astro-leini5l2) ul,.prose:where(.astro-leini5l2) ol{margin:0 0 1.1rem;padding-left:1.35rem}.prose:where(.astro-leini5l2) li{margin:.5rem 0;padding-left:.2rem}.prose:where(.astro-leini5l2) li::marker{color:var(--intro-blue)}.prose:where(.astro-leini5l2) ul{list-style-type:disc}.prose:where(.astro-leini5l2) ol{list-style-type:decimal}.prose:where(.astro-leini5l2) code:not(.expressive-code *){color:var(--intro-ink);border:1px solid var(--intro-line);border-radius:var(--radius-control);background:var(--intro-field);padding:.1em .3em;font-size:.82em}.prose:where(.astro-leini5l2) .expressive-code{margin:1rem 0 1.4rem}.prose:where(.astro-leini5l2) pre:not(.expressive-code *){border-radius:var(--radius-frame);background:var(--cap-chrome);color:var(--cap-icon-fg);font:.8rem/1.8 var(--font-mono);padding:1rem;overflow-x:auto}.prose:where(.astro-leini5l2) blockquote{border-left:2px solid var(--intro-blue);background:var(--intro-field);margin:1.5rem 0;padding:.75rem 1rem}.prose:where(.astro-leini5l2) blockquote p:last-child{margin-bottom:0}.prose:where(.astro-leini5l2) table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--intro-line);border-radius:var(--radius-control);background:var(--intro-paper);width:100%;margin-block:1.25rem;font-size:.875rem;display:table}.prose:where(.astro-leini5l2) th,.prose:where(.astro-leini5l2) td{text-align:left;vertical-align:top;border-bottom:1px solid var(--intro-line);overflow-wrap:anywhere;padding:.75rem 1rem}.prose:where(.astro-leini5l2) th{color:var(--intro-ink);background:var(--intro-field);font-weight:600}.prose:where(.astro-leini5l2) th:first-child{border-start-start-radius:var(--radius-control)}.prose:where(.astro-leini5l2) th:last-child{border-start-end-radius:var(--radius-control)}.prose:where(.astro-leini5l2) th+th,.prose:where(.astro-leini5l2) td+td{border-inline-start:1px solid var(--intro-line)}.prose:where(.astro-leini5l2) tbody tr:last-child td{border-bottom:0}.prose:where(.astro-leini5l2) .comparison-table{border-radius:var(--radius-control);max-width:100%;margin-block:1.25rem;overflow-x:auto}.prose:where(.astro-leini5l2) .comparison-table table{min-width:42rem;margin-block:0}.prose:where(.astro-leini5l2) .comparison-table:focus-visible{outline:2px solid var(--intro-blue);outline-offset:4px}.prose:where(.astro-leini5l2) .article-screenshot{margin:1.5rem 0}.prose:where(.astro-leini5l2) .article-screenshot p{margin:0}.prose:where(.astro-leini5l2) .article-screenshot img{border:1px solid var(--intro-line);border-radius:var(--radius-control);max-width:100%;height:auto;margin-inline:auto;display:block}.prose:where(.astro-leini5l2) .article-screenshot figcaption{color:var(--intro-copy);margin-top:.65rem;font-size:.8rem;line-height:1.6}.prose:where(.astro-leini5l2) td code:not(.expressive-code *){color:var(--intro-blue);font-family:var(--font-mono);white-space:normal;box-decoration-break:clone}.article-end:where(.astro-leini5l2){border:1px solid var(--intro-line);border-radius:var(--radius-frame);background:var(--intro-field);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.5rem;padding:1.25rem;display:flex}.end-mark:where(.astro-leini5l2){color:var(--intro-blue);font:600 1.4rem var(--font-mono)}.article-end:where(.astro-leini5l2)>div:where(.astro-leini5l2){flex:1;min-width:14rem}.article-end:where(.astro-leini5l2) h2:where(.astro-leini5l2){color:var(--intro-ink);font-size:1rem;font-weight:600}.article-end:where(.astro-leini5l2) p:where(.astro-leini5l2){color:var(--intro-copy);margin-top:.35rem;font-size:.8rem;line-height:1.6}.article-end:where(.astro-leini5l2) a:where(.astro-leini5l2){min-height:2.75rem;color:var(--intro-blue);align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.related:where(.astro-leini5l2){border-top:1px solid var(--intro-line);margin-top:3rem;padding-top:1.5rem}.related:where(.astro-leini5l2)>h2:where(.astro-leini5l2){color:var(--intro-ink);margin-bottom:1rem;font-size:1.15rem;font-weight:600}.related-grid:where(.astro-leini5l2){grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.related-grid:where(.astro-leini5l2)>a:where(.astro-leini5l2){padding-block:.5rem;text-decoration:none;display:block}.related:where(.astro-leini5l2) h3:where(.astro-leini5l2){color:var(--intro-ink);justify-content:space-between;align-items:baseline;gap:1rem;margin:.5rem 0;font-size:1.15rem;font-weight:600;line-height:1.4;display:flex}.related:where(.astro-leini5l2) h3:where(.astro-leini5l2) span:where(.astro-leini5l2){color:var(--intro-blue);font-weight:400}.related:where(.astro-leini5l2) p:where(.astro-leini5l2){color:var(--intro-copy);font-size:.85rem;line-height:1.7}.related:where(.astro-leini5l2) a:where(.astro-leini5l2):hover h3:where(.astro-leini5l2){color:var(--intro-blue)}a:where(.astro-leini5l2):focus-visible,.prose:where(.astro-leini5l2) a:focus-visible{outline:2px solid var(--intro-blue);outline-offset:4px}@media (width<=899px){.article-shell:where(.astro-leini5l2){max-width:43rem}.article-grid:where(.astro-leini5l2){grid-template-columns:minmax(0,1fr);max-width:43rem}.article-toc:where(.astro-leini5l2){display:none}.mobile-contents:where(.astro-leini5l2){max-width:43rem;display:block}.article-header:where(.astro-leini5l2){max-width:43rem}}@media (width<=599px){.article-shell:where(.astro-leini5l2){padding-top:1rem;padding-bottom:2.5rem}.back:where(.astro-leini5l2){margin-bottom:.75rem}.prose:where(.astro-leini5l2){font-size:.95rem;line-height:1.8}.prose:where(.astro-leini5l2) h2{font-size:1.35rem}.related-grid:where(.astro-leini5l2){grid-template-columns:1fr;gap:1.5rem}.article-end:where(.astro-leini5l2){padding:1rem}}
