/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-light:300;--font-weight-medium:500;--tracking-tight:-.025em;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:dark;--paper:#151618;--paper-deep:#1c1e21;--ink:#e4e2da;--muted:#a5a5a2;--faint:#92938f;--rule:#303237;--blue:#a3acf9;--green:#a3acf9;--rust:#d5a17f;--amber:#d5b07c;--font-serif:var(--font-display),Georgia,serif;--font-sans:var(--font-body),Arial,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--duration-exit:.15s;--duration-enter:.21s;--duration-move:.4s}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);scroll-padding-top:100px}html:active-view-transition{scroll-behavior:auto}body{--font-serif:var(--font-display),Georgia,serif;--font-sans:var(--font-body),Arial,sans-serif;background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}body:after{content:"";pointer-events:none;z-index:80;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{color:#f1f0eb;background:#4b5075}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}svg{flex-shrink:0}a svg,button svg{pointer-events:none}}@layer components{.shell{width:min(980px,100% - 96px);margin-inline:auto}.skip-link{z-index:200;background:var(--blue);color:#151618;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:10px;line-height:1.7}.text-link{align-items:center;gap:12px;padding-block:8px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .2s}.text-link:hover{color:var(--blue)}.text-link:hover svg{transform:translate(3px,-2px)}.site-header{z-index:60;background:var(--paper);position:relative;top:0}.site-header__inner{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;width:min(980px,100% - 96px);min-height:88px;margin-inline:auto;display:flex}.site-header__brand{font-family:var(--font-serif);letter-spacing:-.025em;gap:10px;font-size:28px;font-weight:400;text-decoration:none}.site-header__brand,.site-nav{align-items:center;display:flex}.site-nav{gap:34px;font-size:12px}.site-nav a{padding:14px 0;text-decoration:none;position:relative}.site-nav a:after{content:"";background:var(--blue);border-radius:50%;width:4px;height:4px;transition:transform .2s;position:absolute;bottom:5px;left:50%;transform:scale(0)}.site-nav a:hover,.site-nav a[aria-current]{color:var(--blue)}.site-nav a[aria-current]:after{transform:scale(1)}.drawing{min-width:0;margin:0;position:relative}.drawing-top{text-transform:uppercase;font-size:9px;font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);justify-content:space-between;padding:0 20px;display:flex}.drawing-art{background-image:radial-gradient(#83889928 .7px,#0000 0);background-size:17px 17px;position:relative}.drawing-art>svg{width:100%;height:auto;display:block;overflow:visible}.drawing-lines{transform:translate(var(--art-x,0),var(--art-y,0));transition:transform .7s ease-out}.drawing-controls{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;margin-inline:20px;padding:9px 0;display:flex}.drawing-actions,.drawing-modes{gap:4px;display:flex}.drawing-modes button{color:var(--muted);text-transform:capitalize;background:0 0;border:none;border-radius:2px;padding:8px 12px;font-size:10px}.drawing-modes button[aria-pressed=true]{color:var(--blue);background:#a3acf912}.drawing-modes button:hover{color:var(--blue)}.drawing-actions button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.drawing-actions button:hover{color:var(--blue);background:#a3acf912}.drawing-hint{text-align:center;font-family:var(--font-serif);color:var(--faint);font-size:16px;font-style:italic}.status-dot{background:#a0b888;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.bottleneck{color:#eef0ff;background:#202431;min-width:0;padding:30px 32px 24px}.experiment-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.experiment-top .eyebrow{color:#d4d9f0;font-size:8px}.experiment-live{color:#bbc5e5;white-space:nowrap;align-items:center;gap:6px;font-size:8px;display:flex}.experiment-live i{background:#cddbaa;border-radius:50%;width:4px;height:4px}.experiment-readout{flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:26px;display:flex}.experiment-readout strong{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(46px,5.4vw,72px);font-weight:400;line-height:1}.experiment-readout>span{color:#bbc5e5;font-family:var(--font-mono);font-size:9px}.experiment-flow{align-items:center;gap:0;min-height:70px;margin-top:30px;display:flex}.flow-database,.flow-source{border:1px solid #66708b;flex-direction:column;justify-content:center;align-items:center;min-width:72px;padding:10px 12px;display:flex}.flow-database span,.flow-source span{font-family:var(--font-mono);font-size:18px}.flow-database small,.flow-source small{font-family:var(--font-mono);color:#c3cbe5;font-size:8px}.flow-database{border-radius:35%/15%;min-width:96px;transition:background .25s,color .25s}.flow-database.is-full{color:#30291f;background:#e8bb81;border-color:#e8bb81}.flow-database.is-full small{color:#493c2a}.flow-wire{background:#7683b2;flex:1;min-width:12px;height:1px;position:relative}.flow-wire:after{content:"";border-top:1px solid #abb6df;border-right:1px solid #abb6df;width:5px;height:5px;position:absolute;top:-2px;right:0;transform:rotate(45deg)}.flow-pool{grid-template-columns:repeat(4,1fr);gap:5px;width:78px;padding:8px;display:grid}.flow-pool span{background:0 0;border:1px solid #7c8abb;height:20px;transition:background .25s}.flow-pool span.is-active{background:#cbd6ff;border-color:#cbd6ff}.experiment-selector{justify-content:space-between;align-items:center;gap:10px;margin-top:26px;display:flex}.experiment-selector>span{color:#d4d9f0;font-size:10px}.experiment-selector>div{gap:5px;display:flex}.experiment-selector button{color:#dfe4fa;width:33px;height:33px;font-family:var(--font-mono);background:0 0;border:1px solid #7683b2;font-size:11px;transition:background .2s}.experiment-selector button[aria-pressed=true]{color:#202431;background:#e0e6fc;border-color:#e0e6fc}.experiment-selector button:hover{border-color:#fff}.bottleneck :focus-visible{outline-color:#f2cf94}.experiment-explanation{color:#d2d9ef;min-height:60px;margin-top:20px;font-size:12px}.experiment-footnote{font-family:var(--font-mono);color:#bfc9e8;border-top:1px solid #55618d;justify-content:space-between;gap:12px;padding-top:13px;font-size:8px;display:flex}.note-art{color:#c29981;background:#262320;height:166px;overflow:hidden}.note-art--vectors{color:#a4b58e;background:#232720}.note-art--json{color:#aaa2c5;background:#25232d}.note-art svg{width:100%;height:100%;transition:transform .45s}.site-footer{padding-top:45px;padding-bottom:24px}.page-intro{border-bottom:1px solid var(--rule);padding:52px 0 32px;position:relative}.page-intro .eyebrow{color:var(--muted);margin-bottom:18px}.page-intro h1{font-family:var(--font-serif);letter-spacing:-.035em;font-size:clamp(52px,6vw,70px);line-height:.97}.page-intro h1 em{color:var(--blue)}.page-intro>p:not(.eyebrow){color:var(--muted);max-width:51ch;margin-top:24px;font-size:15px}.writing-index{padding-bottom:75px}.archive-tools{justify-content:space-between;align-items:center;gap:24px;padding:27px 0;display:flex}.archive-filters{flex-wrap:wrap;gap:7px;display:flex}.archive-filters button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:2px;padding:8px 12px;font-size:11px}.archive-filters button[aria-pressed=true]{border-color:var(--rule);color:var(--blue);background:#a3acf90c}.archive-search{border-bottom:1px solid var(--rule);color:var(--muted);align-items:center;gap:9px;padding:8px 0;display:flex}.archive-search input{width:175px;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.archive-search:focus-within{border-color:var(--blue)}.archive-count{font-family:var(--font-mono);color:var(--muted);padding-bottom:20px;font-size:9px}.archive-entry{border-top:1px solid var(--rule)}.archive-entry>a{grid-template-columns:100px 1fr 170px 24px;align-items:center;gap:30px;padding:30px 0;text-decoration:none;display:grid}.archive-entry time{font-family:var(--font-mono);color:var(--muted);font-size:10px}.archive-entry h2{font-family:var(--font-serif);letter-spacing:-.015em;font-size:35px;line-height:1.12}.archive-entry a:hover h2{color:var(--blue)}.archive-entry p{color:var(--muted);max-width:65ch;margin-top:10px;font-size:12px}.archive-entry .note-art{height:106px}.archive-entry-meta{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;gap:16px;margin-top:15px;font-size:8px;display:flex}.archive-empty{border-block:1px solid var(--rule);padding:60px 0}.archive-empty h2{font-family:var(--font-serif);font-size:36px}.archive-empty p{color:var(--muted);margin-top:10px}.archive-empty button{color:var(--blue);text-underline-offset:4px;background:0 0;border:0;margin-top:18px;padding:6px 0;text-decoration:underline}.workshop-page{padding-bottom:85px}.workshop-feature{grid-template-columns:.85fr 1.15fr;align-items:center;gap:55px;margin-block:50px;display:grid}.workshop-feature h2{font-family:var(--font-serif);margin:16px 0;font-size:47px;line-height:1.05}.workshop-feature>div:first-child>p:not(.eyebrow){color:var(--muted);margin-block:15px;font-size:14px}.workshop-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.workshop-project{border:1px solid var(--rule)}.workshop-project-body{padding:24px}.workshop-project .eyebrow{color:var(--muted);font-size:8px}.workshop-project h2{font-family:var(--font-serif);margin:13px 0;font-size:32px;line-height:1.1}.workshop-project p:not(.eyebrow){color:var(--muted);min-height:80px;font-size:12px}.project-links{justify-content:space-between;align-items:center;gap:15px;margin-top:20px;display:flex}.project-links a{font-size:11px}.project-links>a:last-child{color:var(--muted);text-decoration:none}.personal-page{padding-bottom:80px}.personal-page-body{grid-template-columns:minmax(0,1fr) 280px;gap:90px;padding-top:45px;display:grid}.personal-prose{max-width:660px}.personal-prose>p{color:#b8b9b4;margin-bottom:22px;font-size:16px;line-height:1.85}.personal-prose>p:first-child{font-size:23px;font-family:var(--font-serif);color:var(--ink);line-height:1.5}.personal-prose a{color:var(--blue)}.personal-prose h2{font-family:var(--font-serif);margin:45px 0 18px;font-size:39px;line-height:1.1}.personal-aside{border-top:1px solid var(--rule);align-self:start;padding-top:24px}.personal-aside .eyebrow{color:var(--muted)}.personal-aside p:not(.eyebrow){margin-top:12px;font-size:13px}.personal-aside a{color:var(--blue)}.personal-aside .aside-links{flex-direction:column;gap:11px;margin-top:28px;font-size:12px;display:flex}.career-entry{border-top:1px solid var(--rule);grid-template-columns:130px 1fr;gap:20px;padding:20px 0;display:grid}.career-entry>span{font-family:var(--font-mono);color:var(--muted);padding-top:6px;font-size:10px}.career-entry h3{font-size:16px;font-weight:500}.career-entry p{color:var(--muted);margin-top:5px;font-size:13px}.now-date{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:8px;margin-bottom:28px;font-size:10px;display:flex}.now-topics{color:var(--muted);margin:0;padding-left:18px;font-size:15px}.now-topics li{margin-bottom:15px;padding-left:4px}.now-topics li::marker{color:var(--blue)}.article-document{width:min(1000px,100% - 112px);margin:auto;padding:42px 0 75px}.article-breadcrumb{font-family:var(--font-mono);color:var(--muted);margin-bottom:52px;font-size:10px}.article-breadcrumb ol{gap:13px;margin:0;padding:0;list-style:none;display:flex}.article-breadcrumb a{text-decoration:none}.article-breadcrumb a:hover{color:var(--blue)}.article-header{max-width:860px;margin:auto}.article-header__kind{color:var(--blue);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:17px;font-size:10px}.article-title{font-family:var(--font-serif);letter-spacing:-.03em;font-size:clamp(43px,6.5vw,80px);line-height:1.03}.article-description{color:var(--muted);max-width:720px;margin-top:24px;font-size:17px;line-height:1.7}.article-byline{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin-top:30px;padding-top:18px;font-size:11px;display:flex}.article-byline strong{color:var(--ink);font-weight:500}.article-tags{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:13px;margin:17px 0 0;padding:0;font-size:9px;list-style:none;display:flex}.article-tags li+li:before{content:"/";color:var(--rule);margin-right:13px}.article-layout{max-width:710px;margin:55px auto 0}.article-body{color:#cbccc5;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1.85}.article-body p{margin:0 0 1.5em}.article-body>p:first-child{color:var(--ink);font-size:1.1em}.article-body h1,.article-body h2,.article-body h3,.article-body h4{font-family:var(--font-serif);color:var(--ink);scroll-margin-top:110px}.article-body h1{margin:2em 0 .6em;font-size:46px;line-height:1.1}.article-body h2{border-top:1px solid var(--rule);margin:2em 0 .65em;padding-top:20px;font-size:39px;line-height:1.12}.article-body h3{margin:1.7em 0 .6em;font-size:30px;line-height:1.2}.article-body h4{margin:1.6em 0 .6em;font-size:25px}.article-body strong{color:var(--ink)}.article-body a{color:var(--blue);text-decoration-thickness:1px}.article-body ol,.article-body ul{margin-block:1.4em;padding-left:1.4em}.article-body li{margin-block:.4em;padding-left:.2em}.article-body li::marker{color:var(--blue)}.article-body blockquote{border-left:2px solid var(--blue);color:var(--muted);margin:2em 0;padding:3px 0 3px 24px;font-style:italic}.article-body blockquote p{margin:0}.article-body :not(pre)>code{font-family:var(--font-mono);color:#c8d2b6;overflow-wrap:anywhere;background:#272a2d;padding:.15em .3em;font-size:.78em}.article-body pre{color:#e5e8ef;border:1px solid #343a3e;max-width:100%;margin:2em 0;padding:0;overflow-x:auto;background:#20252a!important}.article-body pre code{min-width:max-content;font-family:var(--font-mono);padding:20px 0;font-size:12px;line-height:1.8;display:grid}.article-body pre [data-line]{padding:0 20px}.article-body pre [data-highlighted-line]{background:#d1d9ff12;border-left:2px solid #a5b9ff}.article-body pre [data-highlighted-chars]{background:#d1d9ff25}.article-body figure{margin:2.5em 0}.article-body figure[data-rehype-pretty-code-figure]{margin:2em 0}.article-body img{border:1px solid var(--rule);width:100%;height:auto}.article-body figcaption{font-family:var(--font-sans);color:var(--muted);margin-top:10px;font-size:11px;line-height:1.6}.article-table-wrap{border:1px solid var(--rule);max-width:100%;margin:2em 0;overflow-x:auto}.article-body table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:12px;line-height:1.55}.article-body td,.article-body th{border-bottom:1px solid var(--rule);text-align:left;padding:13px 16px}.article-body th{background:var(--paper-deep);color:var(--ink);font-weight:600}.article-body tbody tr:last-child td{border:0}.article-body hr{border:0;border-top:1px solid var(--rule);margin:3em 0}.article-callout{border-left:3px solid var(--blue);font-family:var(--font-sans);background:#222630;margin-block:2em;padding:20px;font-size:14px}.article-callout--warning{border-color:var(--amber)}.article-callout--error{border-color:var(--rust)}.article-footer,.article-related{border-top:1px solid var(--rule);max-width:710px;margin:65px auto 0;padding-top:24px}.article-related h2{font-family:var(--font-serif);font-size:34px}.article-related ul{padding:0;list-style:none}.article-related a{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:24px;padding:15px 0;font-size:14px;text-decoration:none;display:flex}.article-related a:hover{color:var(--blue)}.article-related a span:last-child{font-family:var(--font-mono);white-space:nowrap;font-size:9px}.article-footer{color:var(--muted);justify-content:space-between;gap:25px;font-size:10px;display:flex}.article-footer a{color:var(--blue)}.reading-progress{z-index:65;background:var(--blue);transform-origin:0;pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0}.reading-tools{justify-content:flex-end;max-width:710px;margin:23px auto 0;display:flex}.reading-tools button{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:11px;display:inline-flex}.reading-tools button:hover{color:var(--blue)}.not-found{min-height:60vh;padding:100px 0}.not-found h1{font-family:var(--font-serif);margin:20px 0;font-size:80px;line-height:1}.not-found p{color:var(--muted)}.not-found .text-link{margin-top:20px}.header-home-mark{color:var(--rust);vertical-align:6px;margin-left:7px;font-size:23px;display:inline-block}.home-page{padding:72px 0 58px}.home-introduction{grid-template-columns:minmax(0,1fr) 285px;align-items:center;gap:70px;display:grid}.home-location{color:var(--faint);font-family:var(--font-mono);letter-spacing:.025em;margin-bottom:18px;font-size:10px}.home-hello h1{font-family:var(--font-serif);letter-spacing:-.025em;margin-bottom:27px;font-size:clamp(58px,6.5vw,78px);line-height:1.05}.home-hello h1 em{color:var(--blue)}.home-hello>p:not(.home-location){color:#bcbdb8;max-width:54ch;margin-top:16px;font-size:15px;line-height:1.85}.home-hello>.home-intro-links{gap:14px;margin-top:23px;font-size:12px;display:flex}.home-intro-links a{color:var(--muted);text-decoration-color:#666873}.home-intro-links a:hover{color:var(--ink)}.home-intro-links span{color:var(--faint)}.margin-drawing{min-width:0;padding-top:9px}.margin-drawing .drawing-top{font-family:var(--font-serif);text-transform:none;letter-spacing:0;color:var(--faint);padding-inline:4px;font-size:17px;font-style:italic}.margin-drawing .drawing-top>span:last-child{font-family:var(--font-mono);padding-top:8px;font-size:8px;font-style:normal}.margin-drawing .drawing-art{background:0 0}.margin-drawing .drawing-controls{border-top-color:#30323788;margin-inline:0;padding-block:5px}.margin-drawing .drawing-modes{gap:0}.margin-drawing .drawing-modes button{min-height:34px;padding-inline:7px;font-size:9px}.margin-drawing .drawing-actions{gap:0}.margin-drawing .drawing-actions button{width:30px;height:34px}.margin-drawing .drawing-actions svg{width:13px;height:13px}.margin-drawing .drawing-hint{font-family:var(--font-sans);color:var(--faint);margin-top:5px;font-size:9px;font-style:normal}.home-columns{grid-template-columns:minmax(0,1fr) 230px;gap:90px;margin-top:72px;display:grid}.notebook-heading{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:12px;display:flex}.home-notebook h2{font-family:var(--font-serif);letter-spacing:-.015em;font-size:31px;line-height:1.2}.notebook-heading>a{color:var(--muted);font-size:11px;text-decoration:none}.notebook-heading>a:hover{color:var(--blue)}.home-entry{border-bottom:1px solid #30323788;grid-template-columns:87px minmax(0,1fr);align-items:baseline;gap:23px;padding:22px 0;display:grid}.home-entry time{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;font-size:9px}.home-entry a{text-decoration:none}.home-entry h3{font-family:var(--font-serif);letter-spacing:-.01em;font-size:27px;line-height:1.22}.home-entry a:hover{color:var(--blue)}.home-tinkering{margin-top:43px}.home-tinkering>p{color:var(--muted);margin-top:17px;font-size:14px;line-height:1.85}.home-tinkering a{color:#c6c8dc;text-decoration-color:#5d6075}.home-tinkering a:hover{color:var(--blue)}.home-marginalia{padding-top:7px}.margin-update h2{font-family:var(--font-serif);color:var(--rust);font-size:28px;font-style:italic;line-height:1.2}.margin-update time{color:var(--faint);font-family:var(--font-mono);margin-top:9px;font-size:9px;display:block}.margin-update p{color:var(--muted);margin-top:19px;font-size:12px;line-height:1.9}.margin-emphasis{color:var(--ink)}.margin-update>a{color:var(--muted);margin-top:16px;font-size:11px;text-decoration:none;display:inline-block}.margin-update>a:hover{color:var(--blue)}.margin-postscript{color:#aa9d90;align-items:flex-start;gap:10px;margin-top:28px;display:flex;transform:rotate(-3deg)}.margin-postscript>span{font-size:23px;line-height:1}.margin-postscript>p{font-family:var(--font-serif);font-size:20px;font-style:italic;line-height:1.4}.site-footer{border-top:1px solid var(--rule);justify-content:space-between;gap:30px;padding-top:24px;padding-bottom:35px}.site-footer,.site-footer>p{align-items:center;display:flex}.site-footer>p{color:var(--muted);gap:14px;font-size:12px}.footer-signed{font-family:var(--font-serif);color:var(--ink);font-size:25px;font-style:italic}.site-footer nav{color:var(--muted);gap:21px;font-size:11px;display:flex}.site-footer nav a{text-decoration:none}.site-footer nav a:hover{color:var(--blue)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.min-h-screen{min-height:100vh}.max-w-3xl{max-width:var(--container-3xl)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.bg-black{background-color:var(--color-black)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-blue-400{color:var(--color-blue-400)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-500{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:text-blue-300:hover{color:var(--color-blue-300)}}@media (min-width:48rem){.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}}@media (max-width:1100px){.shell{width:calc(100% - 80px)}.bottleneck{padding:25px}.experiment-live{display:none}.experiment-readout{gap:8px}.personal-page-body{grid-template-columns:minmax(0,1fr) 230px;gap:45px}.archive-entry>a{grid-template-columns:80px 1fr 125px 20px;gap:20px}.workshop-project-body{padding:19px}}@media (max-width:800px){.site-header__inner{width:calc(100% - 48px);min-height:76px}.site-nav{gap:23px}.shell{width:calc(100% - 48px)}.bottleneck{padding:24px 20px}.experiment-readout{flex-direction:column;gap:5px}.experiment-readout strong{font-size:52px}.flow-database,.flow-source{min-width:50px;padding:8px}.flow-database{min-width:70px}.flow-database small,.flow-source small{font-size:7px}.flow-pool{gap:3px;width:68px}.experiment-selector{flex-direction:column;align-items:flex-start}.experiment-selector>div{width:100%}.experiment-selector button{flex:1}.experiment-footnote{flex-wrap:wrap}.note-art{height:130px}.archive-entry>a{grid-template-columns:70px 1fr 22px}.archive-entry .note-art{display:none}.archive-entry h2{font-size:31px}.archive-tools{flex-wrap:wrap}.workshop-feature{grid-template-columns:1fr 1.1fr;gap:30px}.workshop-feature h2{font-size:38px}.workshop-projects{grid-template-columns:1fr}.workshop-project{grid-template-columns:.6fr 1fr;display:grid}.workshop-project>.note-art{height:100%}.workshop-project p:not(.eyebrow){min-height:unset}.personal-page-body{grid-template-columns:1fr}.personal-aside{margin-top:10px}.personal-aside .aside-links{flex-flow:wrap;gap:20px}.article-document{width:calc(100% - 48px)}.reading-progress{top:0}}@media (max-width:580px){.site-header__inner{width:calc(100% - 36px);min-height:70px}.site-header__brand{gap:6px;font-size:22px}.site-nav{gap:17px;font-size:11px}.shell{width:calc(100% - 40px)}.desktop-break{display:none}.bottleneck{padding:26px}.experiment-readout{flex-direction:row;align-items:baseline;gap:12px;margin-top:26px}.experiment-readout strong{font-size:62px}.experiment-readout>span{font-size:8px}.experiment-flow{margin-top:22px}.flow-source{min-width:63px}.flow-database{min-width:86px}.flow-pool{gap:5px;width:82px}.experiment-selector{flex-direction:row;align-items:center}.experiment-selector>div{width:auto}.experiment-selector button{flex:initial;width:32px;height:38px}.experiment-selector>span{font-size:9px}.experiment-explanation{min-height:60px;font-size:12px}.note-art{height:120px}.page-intro{padding:43px 0 30px}.page-intro h1{font-size:64px}.page-intro>p:not(.eyebrow){font-size:14px}.archive-tools{gap:15px;padding-bottom:20px}.archive-filters{gap:1px}.archive-filters button{min-height:38px;padding:8px 10px;font-size:10px}.archive-search,.archive-search input{width:100%}.archive-entry>a{grid-template-columns:1fr 20px;gap:10px;padding-block:23px}.archive-entry time{grid-column:1/-1;font-size:9px}.archive-entry h2{font-size:31px}.archive-entry p{font-size:12px}.archive-entry-meta{gap:12px;font-size:7px}.workshop-feature{grid-template-columns:1fr;gap:25px;margin-block:34px}.workshop-feature h2{font-size:43px}.workshop-project{grid-template-columns:1fr}.workshop-project>.note-art{height:165px}.workshop-project-body{padding:24px}.personal-page-body{gap:28px;padding-top:32px}.personal-prose>p{font-size:15px}.personal-prose>p:first-child{font-size:23px}.career-entry{grid-template-columns:1fr;gap:5px}.article-document{width:calc(100% - 40px);padding-top:26px}.article-breadcrumb{margin-bottom:33px;font-size:9px}.article-title{font-size:47px}.article-description{font-size:15px}.article-byline{gap:8px 16px;font-size:10px}.article-tags{font-size:8px}.article-layout{margin-top:37px}.article-body{font-size:16px;line-height:1.85}.article-body h2{font-size:34px}.article-body pre code,.article-body table{font-size:11px}.article-body td,.article-body th{padding:10px 12px}.article-footer{flex-direction:column;gap:12px}.reading-progress{top:0}}@media (max-width:360px){.site-nav{gap:12px;font-size:10px}.site-header__brand{font-size:20px}.bottleneck{padding:20px}.experiment-readout strong{font-size:52px}.experiment-selector{flex-direction:column;align-items:flex-start}.experiment-selector>div{width:100%}.experiment-selector button{flex:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}.drawing-lines{transform:none!important}}:root{view-transition-name:none;--duration-exit:.15s;--duration-enter:.21s;--duration-move:.4s}@keyframes fade{0%{filter:blur(3px);opacity:0}to{filter:blur();opacity:1}}@keyframes slide{0%{translate:var(--slide-offset)}to{translate:0}}@keyframes slide-y{0%{transform:translateY(var(--slide-y-offset,10px))}to{transform:translateY(0)}}::view-transition-old(.fade-out){animation:var(--duration-exit) ease-in both fade reverse}::view-transition-new(.fade-in){animation:var(--duration-enter) ease-out var(--duration-exit) both fade}::view-transition-old(.slide-down){animation:var(--duration-exit) ease-out both fade reverse,var(--duration-exit) ease-out both slide-y reverse}::view-transition-new(.slide-up){animation:var(--duration-enter) ease-in var(--duration-exit) both fade,var(--duration-move) ease-in both slide-y}::view-transition-new(.slide-from-right){--slide-offset:60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.slide-to-left){--slide-offset:-60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.slide-from-left){--slide-offset:-60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.slide-to-right){--slide-offset:60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-old(.nav-forward){--slide-offset:-60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-forward){--slide-offset:60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.nav-back){--slide-offset:60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-back){--slide-offset:-60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-group(.morph){animation-duration:var(--duration-move)}::view-transition-image-pair(.morph){animation-name:via-blur}@keyframes via-blur{30%{filter:blur(3px)}}::view-transition-group(.text-morph){animation-duration:var(--duration-move)}::view-transition-old(.text-morph){display:none}::view-transition-new(.text-morph){object-fit:none;object-position:left top;animation:none}::view-transition-old(.scale-out){animation:var(--duration-exit) ease-in scale-down}::view-transition-new(.scale-in){animation:var(--duration-enter) ease-out var(--duration-exit) both scale-up}@keyframes scale-down{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@keyframes scale-up{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}::view-transition{pointer-events:none}@media (max-width:1000px){.home-introduction{grid-template-columns:minmax(0,1fr) 255px;gap:40px}.home-columns{grid-template-columns:minmax(0,1fr) 210px;gap:55px}.home-hello h1{font-size:66px}.home-entry{grid-template-columns:1fr;gap:8px}}@media (max-width:700px){.home-page{flex-direction:column;padding-top:42px;padding-bottom:45px;display:flex}.home-introduction{display:contents}.home-hello{order:0}.home-hello h1{font-size:62px}.home-hello>p:not(.home-location){font-size:15px}.home-columns{order:1;grid-template-columns:1fr;gap:35px;margin-top:45px}.home-entry{grid-template-columns:87px minmax(0,1fr);gap:20px}.home-marginalia{border-top:1px solid var(--rule);grid-template-columns:1.4fr 1fr;gap:35px;padding-top:26px;display:grid}.margin-postscript{margin-top:44px}.margin-drawing{order:2;width:min(320px,100%);margin:45px auto 0}.margin-drawing .drawing{margin:0}.margin-drawing .drawing-modes button{min-height:40px;padding-inline:10px;font-size:10px}.margin-drawing .drawing-actions button{width:34px;height:40px}.site-footer{flex-wrap:wrap;gap:12px}}@media (max-width:580px){.site-header__inner{flex-direction:column;align-items:flex-start;gap:5px;width:calc(100% - 40px);min-height:105px;padding-top:20px;padding-bottom:10px}.site-header__brand{font-size:27px}.site-nav{gap:26px;font-size:12px}.site-nav a{padding:9px 0}.site-nav a:after{bottom:0}.home-page{padding-top:33px}.home-location{margin-bottom:15px;font-size:9px}.home-hello h1{margin-bottom:22px;font-size:clamp(48px,13vw,64px)}.home-hello>.home-intro-links{font-size:12px}.home-entry{grid-template-columns:1fr;gap:8px;padding:19px 0}.home-entry h3{font-size:27px}.home-notebook h2{font-size:30px}.home-marginalia{grid-template-columns:1fr;gap:4px}.margin-update p{max-width:44ch;font-size:13px}.margin-postscript{max-width:30ch;margin-top:18px}.site-footer{flex-direction:column;align-items:flex-start;gap:9px;padding-block:20px 27px}.page-intro h1{font-size:55px}.page-intro{padding-top:35px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@font-face{font-family:display;src:url(/_next/static/media/cc2ceac2dc372385-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:display;src:url(/_next/static/media/c1d483cb14952c86-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:display Fallback;src:local("Arial");ascent-override:128.92%;descent-override:40.37%;line-gap-override:0.00%;size-adjust:76.79%}.__className_c14a47{font-family:display,display Fallback}.__variable_c14a47{--font-display:"display","display Fallback"}@font-face{font-family:sans;src:url(/_next/static/media/774d2ea6a023bd42-s.p.woff2) format("woff2");font-display:swap;font-weight:100 1000}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:93.39%;descent-override:29.18%;line-gap-override:0.00%;size-adjust:106.22%}.__className_7cbd99{font-family:sans,sans Fallback}.__variable_7cbd99{--font-body:"sans","sans Fallback"}