@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/space-grotesk-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/space-grotesk-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Fira Code";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/fira-code-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Fira Code";font-style:normal;font-weight:300 700;font-display:swap;src:url("fonts/fira-code-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Geist";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/geist-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Geist";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/geist-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #f7faf8;--bg-alt: #eaf3ee;--fg: #14241c;--muted: #4f6358;--border: #d3e2da;--accent: #0b7a53;--accent-fg: #ffffff;--code-bg: #eef5f1;--logo-bg: #ffffff;--header-bg: #0e3b2c;--header-fg: #effaf4;--header-muted: #9ccfb6;--band-bg: #e4f0e9;--band-line: rgba(11, 122, 83, 0.2);--font-display: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-sans: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--wrap: 72rem;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-mode=light]){--bg: #0c1511;--bg-alt: #122019;--fg: #e2ede7;--muted: #93a99d;--border: #213229;--accent: #4dd4a0;--accent-fg: #06140e;--code-bg: #0f1b16;--header-bg: #0f2c21;--header-muted: #8fc7ac;--band-bg: #11211a;--band-line: rgba(77, 212, 160, 0.14)}}:root[data-mode=dark]{--bg: #0c1511;--bg-alt: #122019;--fg: #e2ede7;--muted: #93a99d;--border: #213229;--accent: #4dd4a0;--accent-fg: #06140e;--code-bg: #0f1b16;--header-bg: #0f2c21;--header-muted: #8fc7ac;--band-bg: #11211a;--band-line: rgba(77, 212, 160, 0.14);color-scheme:dark}:root[data-mode=light]{color-scheme:light}*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--font-sans);display:flex;flex-direction:column;min-height:100vh}.site-header,.sidebar,.toc,h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}main{flex:1}a{color:var(--accent)}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1rem}.narrow{max-width:46rem}.site-header{background:var(--header-bg);color:var(--header-fg);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:3.5rem}.brand{display:inline-flex;align-items:center;font-weight:700;letter-spacing:-.02em;font-size:1.25rem;color:var(--header-fg);text-decoration:none;white-space:nowrap}.brand-mark{height:2.25rem;width:auto;margin-top:.4rem}.brand-tagline{margin-left:.75rem;font-weight:300;font-size:.95rem;letter-spacing:0;color:var(--header-muted)}.site-nav{display:flex;gap:1.25rem}.site-nav a{color:var(--header-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--header-fg)}.site-nav .nav-soon{color:var(--header-muted);opacity:.6;cursor:default}.site-nav .nav-soon small{font-size:.75em}.mode-switch{display:inline-flex;align-items:center;padding:0;border:none;background:none;color:var(--header-muted);cursor:pointer;}.mode-switch:hover{color:var(--header-fg)}.mode-switch svg{width:1.125rem;height:1.125rem}.mode-switch [data-icon]{display:none}:root:not([data-mode]) .mode-switch [data-icon=auto],:root[data-mode=light] .mode-switch [data-icon=light],:root[data-mode=dark] .mode-switch [data-icon=dark]{display:block}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.875rem;margin-top:4rem}.home{max-width:46rem;padding-top:1rem}.home-band{position:relative;isolation:isolate;background:var(--band-bg);border-bottom:1px solid var(--border);overflow:hidden}.home-band::before,.home-band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.home-band::before{background:var(--band-line);-webkit-mask:url("patterns/grain.svg") center/cover no-repeat;mask:url("patterns/grain.svg") center/cover no-repeat}.home-band::after{background:radial-gradient(ellipse 34rem 75% at 50% 50%, var(--band-bg) 35%, rgba(0,0,0,0) 100%)}.home-intro{padding-top:2.75rem;padding-bottom:2.25rem;font-size:1.125rem}.home-intro>:first-child{margin-top:0}.home-intro>:last-child{margin-bottom:0}.platforms{overflow-x:auto;margin:1.5rem 0;}.platforms table{width:100%;min-width:34rem;table-layout:fixed;border-collapse:collapse}.platforms td{border:none;padding:.25rem .5rem;text-align:center;vertical-align:top}.platforms tr:last-child td{font-size:.85rem;color:var(--muted)}.platforms img{display:block;margin:0 auto}.platforms td.soon{color:var(--muted)}.platforms .soon .logo-tile img{filter:grayscale(1);opacity:.4}.platforms .soon-badge{display:block;width:fit-content;margin:.3rem auto 0;padding:.05rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:var(--muted);border:1px solid var(--border);border-radius:999px}.logo-tile{display:flex;justify-content:center;align-items:center;width:5rem;height:4.5rem;margin:0 auto .25rem;background:var(--logo-bg);border:1px solid var(--border);border-radius:12px}.logo-tile img{width:44px;height:44px;margin:0}.os-cluster{gap:3px}.os-cluster img{width:22px;height:22px}.docs-layout{display:grid;grid-template-columns:14rem minmax(0, 1fr) 12rem;gap:2.5rem;padding-top:2rem}.sidebar,.toc{position:sticky;top:1rem;align-self:start;font-size:.9rem}.sidebar ul,.toc ul{list-style:none;margin:0;padding:0}.sidebar li,.toc li{margin:.25rem 0}.sidebar ul ul,.toc ul ul{padding-left:.75rem}.sidebar a,.toc a{color:var(--muted);text-decoration:none}.sidebar a:hover,.sidebar a[aria-current=page],.toc a:hover,.toc a[aria-current=page]{color:var(--fg)}.sidebar a[aria-current=page],.toc a[aria-current=page]{font-weight:600}.sidebar-title,.toc-title{display:block;font-weight:700;color:var(--fg) !important;margin:0 0 .5rem}.sidebar-group{margin-top:.75rem !important}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border)}.pager .next{margin-left:auto}@media (max-width: 64rem){.docs-layout{grid-template-columns:12rem minmax(0, 1fr)}.toc{display:none}}@media (max-width: 44rem){.docs-layout{grid-template-columns:minmax(0, 1fr);gap:1rem}.sidebar{position:static;border-bottom:1px solid var(--border);padding-bottom:1rem}.site-nav{gap:.75rem;font-size:.9rem}.brand-tagline{display:none}.nav-soon{display:none}}.prose h1,.prose h2,.prose h3{line-height:1.25}.prose h2{margin-top:2.5rem}.prose .zola-anchor{margin-left:.4rem;color:var(--muted);text-decoration:none;opacity:0}.prose h2:hover .zola-anchor,.prose h3:hover .zola-anchor{opacity:1}.prose code{font-family:var(--font-mono);font-size:.9em;font-variant-ligatures:none}.prose :not(pre)>code{background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.1em .3em}.prose pre{background:var(--code-bg) !important;border:1px solid var(--border);border-radius:6px;padding:1rem;overflow-x:auto;line-height:1.45}.prose blockquote{margin:1.5rem 0;padding:.5rem 1rem;border-left:4px solid var(--border);background:var(--bg-alt)}.prose blockquote p{margin:.25rem 0}.prose .markdown-alert-note,.prose .markdown-alert-tip{border-left-color:var(--accent)}.prose .markdown-alert-warning,.prose .markdown-alert-caution{border-left-color:#d08a1c}.prose .meta{color:var(--muted)}.page-list,.post-list{list-style:none;padding:0}.page-list li,.post-list li{margin:1.25rem 0}.page-list p,.post-list p{margin:.25rem 0 0;color:var(--muted)}.page-list a,.post-list a{font-weight:600}.page-list time,.post-list time{display:block;color:var(--muted);font-size:.875rem}.giallo{color-scheme:inherit !important}.giallo-l{display:inline-block;min-height:1lh;width:100%}.giallo-ln{display:inline-block;user-select:none;margin-right:.4em;padding:.4em;min-width:3ch;text-align:right;opacity:.8}.diagram{margin:2rem 0}.diagram svg{display:block;width:100%;height:auto;max-width:45rem;margin:0 auto}.diagram figcaption{margin-top:.75rem;color:var(--muted);font-size:.925rem}.diagram figcaption p{margin:0}.diagram text{font-family:var(--font-sans);fill:var(--fg)}.diagram .d-title{font-family:var(--font-display);font-size:18px;font-weight:700}.diagram .d-label{font-size:15px;font-weight:600}.diagram .d-small{font-size:13px;fill:var(--muted)}.diagram .d-muted{font-size:13px;fill:var(--muted);font-style:italic}.diagram .d-code{font-family:var(--font-mono);font-size:14px;font-weight:600}.diagram .d-on-chip{fill:var(--fg)}.diagram .d-on-door{fill:var(--accent-fg)}.diagram .d-outside{fill:var(--bg-alt);stroke:var(--border);stroke-width:1.5;stroke-dasharray:5 4}.diagram .d-pure{fill:var(--band-bg);stroke:var(--accent);stroke-width:2.5}.diagram .d-chip{fill:var(--bg);stroke:var(--border);stroke-width:1.5}.diagram .d-door{fill:var(--accent)}.diagram .d-line{stroke:var(--muted);stroke-width:2}.diagram .d-arrowhead{fill:var(--muted)}