@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:block;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;src:url(/fonts/space-grotesk-latin-ext-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap;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:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2");font-weight:100 800;font-display:block;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:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-ext-wght-normal.woff2) format("woff2");font-weight:100 800;font-display:swap;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{--mono: "JetBrains Mono", ui-monospace, monospace;--grotesk: "Space Grotesk", system-ui, sans-serif;--page: #0b0b0b;--ink: #f2f2f2;--ink-2: #9a9a9a;--ink-3: #4a4a4a;--rule: #262626;--well: #141414;--on-accent: #0a0a0a;--u: clamp(1px, min(1px + (100vw - 1440px) * .000535714, 1px + (100vh - 900px) * .00111111), 1.6px);--pad: calc(48 * var(--u));--dur-instant: .1s;--dur-quick: .16s;--dur-base: .24s;--dur-slow: .36s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--bg-color: var(--page);--bg-panel: #141414;--text-main: var(--ink);--text-dim: var(--ink-2);--accent: #ccff00;--paper: #dcd8cc;--paper-muted: #8e897c;--graphite: #1b1b1b;--border-color: #333333}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:var(--accent);color:var(--on-accent)}::-moz-selection{background-color:var(--accent);color:var(--on-accent)}[hidden]{display:none!important}button,input{font:inherit}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--mono);-webkit-font-smoothing:antialiased;caret-color:var(--accent);line-height:1.6;overflow-x:hidden}.wrapper{max-width:1200px;margin:0 auto;min-height:100vh;background:var(--bg-color);position:relative}.lab-page{min-height:100vh;background-color:var(--bg-color)}.lab-shell{width:min(100% - 3rem,1360px);margin:0 auto}.lab-eyebrow,.lab-label{font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.lab-eyebrow{color:var(--accent)}.lab-label{color:var(--text-dim)}.lab-chip{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--paper) 22%,var(--border-color));background:color-mix(in srgb,var(--graphite) 78%,transparent);color:color-mix(in srgb,var(--paper) 70%,var(--text-dim));font-size:.64rem;line-height:1;padding:.25rem .4rem}.lab-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);color:var(--text-main);font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:0;text-transform:uppercase;text-decoration:none;padding:.65rem .8rem;transition:background-color .15s,border-color .15s,color .15s}.lab-button:hover,.lab-button:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg-color);text-decoration:none}.lab-button--solid{background:var(--accent);border-color:var(--accent);color:var(--bg-color)}.lab-button--solid:hover,.lab-button--solid:focus-visible{background:var(--paper);border-color:var(--paper)}@media(max-width:900px){.lab-shell{width:min(100% - 2.25rem,1360px)}}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;margin:0 0 .5rem;color:var(--text-main);line-height:1.2}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}strong,b{font-weight:700}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}p{margin-bottom:1em}.prose p{margin-bottom:2em}code{padding:2px 5px;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:2px;font-family:JetBrains Mono,monospace;font-size:.9em}pre{padding:1.5em;background-color:var(--bg-panel);border:1px solid var(--border-color);overflow-x:auto}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0 0 1em;font-size:1.1em;color:var(--text-dim)}hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}img{max-width:100%;height:auto}table{width:100%;border-collapse:collapse}th,td{border:1px solid var(--border-color);padding:.75rem;text-align:left}th{background-color:var(--bg-panel)}textarea,input{width:100%;font-size:16px;font-family:JetBrains Mono,monospace;background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-main);padding:.5rem}textarea:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.section-label{font-family:Space Grotesk,sans-serif;font-size:3rem;margin-bottom:3rem;color:transparent;-webkit-text-stroke:1px var(--text-main)}.glitch-hover:hover{color:var(--accent)}@media(max-width:720px){body{font-size:16px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.section-label{font-size:2rem}}.diagram{--surface: var(--bg-panel);--surface-2: var(--graphite);--line: #242424;--line-strong: var(--border-color);--ink: var(--text-main);--muted: var(--text-dim);--green: var(--accent);--green-wash: rgba(204, 255, 0, .07);--ochre: #ff7a45;margin:2rem 0;padding:1.25rem 1.25rem .9rem;background:var(--bg-panel);border:1px solid var(--border-color);overflow-x:auto}.diagram svg{display:block;width:100%;min-width:620px;height:auto}.diagram figcaption{margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;color:var(--text-dim)}.diagram figcaption code{font-size:.95em}.diagram svg text{font-family:JetBrains Mono,monospace}.diagram .node{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.4}.diagram .node-green{fill:var(--green-wash);stroke:var(--green);stroke-width:1.4}.diagram .node-flat{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1.4}.diagram .node-store{fill:var(--surface-2);stroke:var(--green);stroke-width:1.4}.diagram .zone{fill:none;stroke:var(--line-strong);stroke-width:1.2;stroke-dasharray:5 5}.diagram .lbl{fill:var(--ink);font-size:13px;font-weight:500}.diagram .lbl-sm{fill:var(--ink);font-size:11.5px;font-weight:500}.diagram .sub{fill:var(--muted);font-size:10.5px}.diagram .sub-green{fill:var(--green);font-size:10.5px}.diagram .sub-ochre{fill:var(--ochre);font-size:10.5px;font-weight:500}.diagram .elabel{fill:var(--muted);font-size:10.5px}.diagram .edge{stroke:var(--muted);stroke-width:1.4;fill:none}.diagram .edge-green{stroke:var(--green);stroke-width:1.6;fill:none}.diagram .edge-ochre{stroke:var(--ochre);stroke-width:1.5;fill:none;stroke-dasharray:5 4}.diagram .edge-dash{stroke:var(--muted);stroke-width:1.2;fill:none;stroke-dasharray:4 4}.diagram .chip{fill:var(--surface-2);stroke:var(--line);stroke-width:1}.diagram .bubble{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1.2}.diagram .icon{fill:none;stroke:var(--green);stroke-width:1.5}.diagram .icon-fill{fill:var(--green)}.diagram .cross{stroke:var(--ochre);stroke-width:1.8;fill:none}.diagram .strike{stroke:var(--ochre);stroke-width:1.4;fill:none}.diagram .packet{fill:var(--green)}.diagram svg.dgm-wide,.diagram svg.dgm-tall{min-width:0}.diagram svg.dgm-tall{display:none;max-width:420px;margin:0 auto}@media(max-width:640px){.diagram svg.dgm-wide{display:none}.diagram svg.dgm-tall{display:block}}@media(prefers-reduced-motion:reduce){.diagram .packet{display:none}}@media(max-width:720px){.diagram{padding:.9rem .9rem .7rem}}:root #utati-consent{position:fixed;inset:auto 0 0;z-index:2000;box-sizing:border-box;width:auto;max-width:none;max-height:100dvh;margin:0;padding:0;overflow:auto;border:0;border-top:1px solid var(--rule);border-radius:0;background:#141414f2;background:color-mix(in srgb,var(--well) 95%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);box-shadow:none;font:400 14px / 1.5 var(--grotesk);text-align:left;color-scheme:dark}:root #utati-consent[hidden][hidden]{display:none}:root #utati-consent *,:root #utati-consent *:before,:root #utati-consent *:after{box-sizing:border-box}:root #utati-consent ::selection{background:var(--accent);color:var(--on-accent)}@media(prefers-reduced-motion:no-preference){:root #utati-consent{animation:blog-consent-in var(--dur-base) var(--ease-out) both}}@keyframes blog-consent-in{0%{opacity:0;transform:translateY(12px)}}:root #utati-consent [data-role=title]{margin:0;color:var(--accent);font:500 14px / 1.4 var(--mono);letter-spacing:0}:root #utati-consent [data-role=description],:root #utati-consent [data-role=baseline-note]{max-width:none;margin:0;color:var(--ink-2);font:400 14px / 1.5 var(--grotesk)}:root #utati-consent [data-role=baseline-note]{color:color-mix(in srgb,var(--ink-2) 80%,var(--well))}:root #utati-consent[data-state=unavailable] [data-role=description]{color:var(--ink);font-weight:600}:root #utati-consent [data-role=privacy-link]{display:inline;margin:0;color:var(--ink-2);font:400 12px / 1.5 var(--mono);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}:root #utati-consent [data-role=privacy-link]:hover{color:var(--ink);text-decoration-color:var(--accent)}:root #utati-consent [data-action]{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:96px;min-height:36px;margin:0;padding:6px 12px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font:500 13px / 1.2 var(--mono);letter-spacing:0;text-align:center;text-transform:none;overflow-wrap:anywhere;cursor:pointer;transition:background-color var(--dur-quick) ease,border-color var(--dur-quick) ease,color var(--dur-quick) ease}:root #utati-consent [data-action]:hover{border-color:var(--ink);background:var(--ink);color:var(--page)}:root #utati-consent [data-action]:active{transform:translateY(1px)}:root #utati-consent [data-action=accept]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}:root #utati-consent [data-action=accept]:hover{border-color:var(--ink);background:var(--ink);color:var(--on-accent)}:root #utati-consent [data-action=settings]{min-width:0;min-height:24px;padding:0;border-color:transparent;background:transparent;color:var(--ink-2);font:400 12px / 1.5 var(--mono);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}:root #utati-consent [data-action=settings]:hover{border-color:transparent;background:transparent;color:var(--ink);text-decoration-color:var(--accent)}:root #utati-consent :focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root #utati-consent[data-view=first]{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"title desc link actions" "title base link actions";align-items:center;gap:0 24px;padding:12px var(--pad);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}:root #utati-consent[data-view=first]>[data-role=title]{grid-area:title}:root #utati-consent[data-view=first]>[data-role=description]{grid-area:desc;align-self:end}:root #utati-consent[data-view=first]>[data-role=baseline-note]{grid-area:base;align-self:start}:root #utati-consent[data-view=first]>[data-role=privacy-link]{grid-area:link}:root #utati-consent[data-view=first]>[data-role=actions]{grid-area:actions;display:grid;grid-template-columns:auto;grid-auto-columns:minmax(96px,1fr);grid-auto-flow:column;align-items:center;gap:8px}:root #utati-consent[data-view=first] [data-action=settings]{margin-inline-end:16px}:root #utati-consent[data-view=settings]{display:block;width:100%;max-width:640px;max-height:min(42rem,calc(100dvh - 16px));margin-inline:auto;padding:20px 24px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));border:1px solid var(--rule);border-bottom:0}:root #utati-consent[data-view=settings]>[data-role=title]{margin-bottom:8px}:root #utati-consent[data-view=settings]>[data-role=description]{display:inline}:root #utati-consent[data-view=settings]>[data-role=privacy-link]{margin-inline-start:.5em}:root #utati-consent[data-view=settings]>[data-role=baseline-note]{margin:8px 0 16px}:root #utati-consent [data-role=purposes]{margin:0 0 16px;border-block:1px solid var(--rule)}:root #utati-consent [data-role=necessary],:root #utati-consent [data-role=purpose]{margin:0;padding:8px 0 12px;border-top:1px solid var(--rule)}:root #utati-consent [data-role=purposes]>:first-child{border-top:0}:root #utati-consent [data-role=necessary]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:12px;min-height:44px}:root #utati-consent [data-role=necessary]>strong{color:var(--ink);font-weight:600}:root #utati-consent [data-role=necessary]>span{color:var(--ink-2);font:400 12px / 1.4 var(--mono)}:root #utati-consent [data-role=necessary]>[data-role=purpose-description]{flex-basis:100%}:root #utati-consent [data-role=purpose-description]{max-width:none;margin:0;color:var(--ink-2);font-size:13px}:root #utati-consent [data-role=purpose] label{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0;color:var(--ink);font-weight:600;cursor:pointer}:root #utati-consent [data-role=purpose] input{flex:none;width:20px;height:20px;min-width:0;margin:0;padding:0;accent-color:var(--accent);cursor:pointer}:root #utati-consent [data-role=purpose]:has(input:disabled) label{color:var(--ink-2);cursor:not-allowed}:root #utati-consent [data-role=purpose] input:disabled{cursor:not-allowed;opacity:.45}:root #utati-consent[data-view=settings]>[data-role=actions]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media(min-width:1200px)and (max-width:1439px){:root #utati-consent[data-view=first]{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"title desc desc actions" "title base link actions";row-gap:0}:root #utati-consent[data-view=first]>[data-role=privacy-link]{display:inline-flex;align-items:center;align-self:end;justify-self:end;min-height:24px}:root #utati-consent[data-view=first]>[data-role=actions]{align-self:end;grid-template-columns:repeat(2,minmax(96px,1fr));grid-auto-flow:row;gap:4px 8px}:root #utati-consent[data-view=first] [data-action=settings]{grid-row:2;grid-column:1 / -1;justify-self:start;margin:0}}@media(max-width:1199px){:root #utati-consent[data-view=first]{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title link actions" "desc desc desc" "base base base";row-gap:4px}:root #utati-consent[data-view=first]>[data-role=description],:root #utati-consent[data-view=first]>[data-role=baseline-note]{align-self:start}}@media(max-width:719px){:root #utati-consent[data-view=first]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"title title" "desc desc" "base base" "link settings";gap:4px 8px;padding:14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}:root #utati-consent[data-view=first]>[data-role=actions]{display:contents}:root #utati-consent[data-view=first] [data-action=settings]{grid-area:settings;justify-self:end;width:auto;min-height:32px;margin:0}:root #utati-consent[data-view=first] [data-action]:not([data-action=settings]){margin-top:6px}:root #utati-consent[data-view=first]>[data-role=privacy-link]{justify-self:start;align-self:center}:root #utati-consent[data-view=first]>[data-role=baseline-note]{margin-top:2px}:root #utati-consent [data-action]{width:100%;min-height:44px}:root #utati-consent[data-view=settings]{max-width:none;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));border-inline:0}:root #utati-consent[data-view=settings]>[data-role=actions]{grid-template-columns:repeat(2,minmax(0,1fr))}:root #utati-consent[data-view=settings] [data-action=save]{grid-column:1 / -1}}.footer-strip[data-astro-cid-sz7xmlte]{padding:calc(30 * var(--u)) var(--pad);font:400 calc(11 * var(--u))/1.4 var(--mono);color:var(--ink-2)}.footer-strip[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0}.footer-item[data-astro-cid-sz7xmlte]{white-space:nowrap}.footer-strip[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:inherit}.footer-strip[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--ink);text-underline-offset:4px;text-decoration-color:var(--accent)}@media(max-width:760px){.footer-strip[data-astro-cid-sz7xmlte]{padding:24px 20px;font-size:10px;text-align:center}}.main-nav[data-astro-cid-kybpbynz]{position:relative;z-index:10;display:flex;align-items:baseline;padding:calc(30 * var(--u)) var(--pad);gap:24px;font-family:var(--mono)}.nav-brand[data-astro-cid-kybpbynz]{color:var(--ink);font-size:calc(14 * var(--u));font-weight:700;white-space:nowrap}.nav-brand[data-astro-cid-kybpbynz]:after{content:"";display:inline-block;width:.5em;height:1em;margin-left:.43em;background:var(--accent);vertical-align:-.14em}.nav-right[data-astro-cid-kybpbynz]{margin-left:auto;display:flex;align-items:baseline}.nav-links[data-astro-cid-kybpbynz]{display:flex;gap:calc(14 * var(--u));font-size:calc(12 * var(--u))}.nav-links[data-astro-cid-kybpbynz] a[data-astro-cid-kybpbynz]{color:var(--ink-2);white-space:nowrap}.nav-links[data-astro-cid-kybpbynz] a[data-astro-cid-kybpbynz][aria-current],.nav-links[data-astro-cid-kybpbynz] a[data-astro-cid-kybpbynz]:hover{color:var(--ink)}.nav-links[data-astro-cid-kybpbynz]{align-items:center}.nav-icon[data-astro-cid-kybpbynz]{display:inline-flex;padding:calc(6 * var(--u));margin:calc(-6 * var(--u)) 0}.nav-icon[data-astro-cid-kybpbynz] svg[data-astro-cid-kybpbynz]{display:block;width:calc(15 * var(--u));height:calc(15 * var(--u));fill:currentColor}.nav-icon[data-astro-cid-kybpbynz] svg[data-astro-cid-kybpbynz].nav-icon-line{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav-work[data-astro-cid-kybpbynz]{margin-left:calc(16 * var(--u));padding-left:calc(15 * var(--u));border-left:1px solid var(--rule);font:600 calc(12 * var(--u))/1 var(--mono);color:var(--ink);white-space:nowrap;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}.nav-work[data-astro-cid-kybpbynz] span[data-astro-cid-kybpbynz]{display:inline-block;transition:transform var(--dur-quick) var(--ease-out)}.nav-work[data-astro-cid-kybpbynz]:hover span[data-astro-cid-kybpbynz]{transform:translate(3px)}.main-nav[data-astro-cid-kybpbynz] a[data-astro-cid-kybpbynz]:active{text-decoration:underline;text-decoration-color:var(--accent)}@media(max-width:760px){.main-nav[data-astro-cid-kybpbynz]{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name work" "links links";row-gap:16px;padding:20px}.nav-brand[data-astro-cid-kybpbynz]{grid-area:name}.nav-right[data-astro-cid-kybpbynz]{display:contents}.nav-work[data-astro-cid-kybpbynz]{grid-area:work;border:0;margin:0;padding:0;font-size:12px}.nav-links[data-astro-cid-kybpbynz]{grid-area:links;justify-content:space-between;gap:6px;font-size:11px}}@media(prefers-reduced-motion:reduce){.nav-work[data-astro-cid-kybpbynz] span[data-astro-cid-kybpbynz]{transition:none}.nav-work[data-astro-cid-kybpbynz]:hover span[data-astro-cid-kybpbynz]{transform:none}}
