@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-latin-400-normal.B40WzpMT.woff2) format("woff2"),url(/_astro/geist-latin-400-normal.akEymXtG.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2) format("woff2"),url(/_astro/geist-latin-500-normal.BDXIbFrL.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-latin-600-normal.CSETrqM2.woff2) format("woff2"),url(/_astro/geist-latin-600-normal.DsPlZH-9.woff) format("woff")}:root{--paper: #f2ede2;--ink: #1f1d1a;--mute: #666055;--rule: #1f1d1a2b;--dot: #1f1d1a1a;--accent: #b83f0e;--marker: #ffd84a;--tab-1: #ffd84a;--tab-2: #ffb98a;--tab-3: #e8dcc0;--tab-4: #cfd9c4;--still-pre: 1;--still-bg: transparent;--ease: cubic-bezier(.22, 1, .36, 1);--hand: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Courier New", monospace;--gutter: 20px;--max: 1320px;--tabs-w: 0px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #17150f;--ink: #efe9dc;--mute: #a79f90;--rule: #efe9dc30;--dot: #efe9dc17;--accent: #ff7a3d;--marker: #ffd84a61;--tab-1: #e5c23c;--tab-2: #e89a68;--tab-3: #cdbf9e;--tab-4: #a9b79b;--still-pre: 0;--still-bg: #f2ede2;color-scheme:dark}}:root[data-theme=dark]{--paper: #17150f;--ink: #efe9dc;--mute: #a79f90;--rule: #efe9dc30;--dot: #efe9dc17;--accent: #ff7a3d;--marker: #ffd84a61;--tab-1: #e5c23c;--tab-2: #e89a68;--tab-3: #cdbf9e;--tab-4: #a9b79b;--still-pre: 0;--still-bg: #f2ede2;color-scheme:dark}@media(min-width:720px){:root{--gutter: 40px;--tabs-w: 56px}}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper) radial-gradient(var(--dot) 1px,transparent 1px) 0 0 / 22px 22px;font-family:Geist,system-ui,sans-serif;font-synthesis:none;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100svh;display:flex;flex-direction:column;color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p,h1,h2,h3,ol,ul,figure,blockquote{margin:0}ol,ul{padding:0;list-style:none}img{display:block;max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}::selection{background:var(--marker);color:var(--ink)}.skip{position:absolute;left:var(--gutter);top:-80px;z-index:10;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:6px}.skip:focus{top:12px}#pencil{position:fixed;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}.rows,.roles,.entry-list,.row,.roles li,.entry{--line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 6' preserveAspectRatio='none'%3E%3Cpath d='M0 3C40 1 70 5 120 3S200 1 260 3 350 5 400 3' fill='none' stroke='%23888' stroke-width='1.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}.bar{position:relative;z-index:2;width:100%;max-width:var(--max);margin-inline:auto;padding:22px var(--gutter) 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;view-transition-name:bar}.mark{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;letter-spacing:-.03em;font-size:17px}.mark i{width:10px;height:10px;border-radius:50%;background:var(--marker);border:1.5px solid var(--ink);transition:transform .5s var(--ease)}.mark:hover i{transform:rotate(90deg) scale(1.3)}.tog{width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:transparent;color:var(--ink);display:grid;place-items:center;padding:0;cursor:pointer;transition:background .3s var(--ease),transform .5s var(--ease)}.tog[hidden]{display:none}.tog:hover{background:var(--marker);transform:rotate(18deg)}.tog svg{grid-area:1 / 1;transition:opacity .3s var(--ease),transform .6s var(--ease)}.tog .i-moon{display:none}:root[data-theme=dark] .tog .i-sun{display:none}:root[data-theme=dark] .tog .i-moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tog .i-sun{display:none}:root:not([data-theme=light]) .tog .i-moon{display:block}}body{padding-right:var(--tabs-w)}.tabs{position:fixed;z-index:6;right:0;top:50%;transform:translateY(-50%);display:grid;gap:10px;view-transition-name:tabs}.tabs a{display:flex;align-items:center;justify-content:center;gap:10px;writing-mode:vertical-rl;padding:16px 0;width:52px;border-radius:12px 0 0 12px;font:500 15px/1 Geist,system-ui,sans-serif;letter-spacing:-.005em;color:#1f1d1a;background:var(--tab, var(--tab-1));box-shadow:0 6px 14px #0002;transition:transform .5s var(--ease),width .5s var(--ease)}.tabs a small{font-family:var(--hand);font-size:11px;opacity:1;color:#1f1d1a}.tabs a:nth-child(1){--tab: var(--tab-1)}.tabs a:nth-child(2){--tab: var(--tab-2)}.tabs a:nth-child(3){--tab: var(--tab-3)}.tabs a:nth-child(4){--tab: var(--tab-4)}.tabs a:hover{transform:translate(-10px);width:58px}.tabs a[aria-current=page]{transform:translate(-18px);width:60px}.tabs a:focus-visible{outline-offset:2px}@media(max-height:640px){.tabs a{padding:10px 0;font-size:13px}}@media(max-width:719px){body{padding-bottom:60px}.tabs{inset:auto 0 0;transform:none;display:flex;gap:8px;padding:0 12px;justify-content:center}.tabs a{writing-mode:horizontal-tb;flex:1;max-width:104px;width:auto;padding:14px 4px 16px;border-radius:12px 12px 0 0;font-size:13px;text-align:center;box-shadow:0 -4px 12px #0002;transform:translateY(8px)}.tabs a small{display:none}.tabs a:hover{transform:translateY(4px);width:auto}.tabs a[aria-current=page]{transform:translateY(0);padding-top:18px;width:auto}}.foot{position:relative;z-index:2;width:100%;max-width:var(--max);margin:auto auto 0;padding:56px var(--gutter) 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;font-size:13px;color:var(--mute)}.foot nav{display:flex;flex-wrap:wrap;gap:0 4px}.foot a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding-inline:8px;transition:color .3s var(--ease)}.foot a:hover{color:var(--accent)}.kicker{font-family:var(--hand);font-size:13px;color:var(--accent)}.h-hero{font-size:clamp(40px,7.4vw,116px);line-height:.98;letter-spacing:-.055em;font-weight:500;text-wrap:balance}.h-page{font-size:clamp(40px,7.4vw,108px);line-height:.98;letter-spacing:-.055em;font-weight:500;text-wrap:balance}.h-page em,.h-hero em{font-style:normal;color:var(--accent)}.hl{text-decoration:none;background:linear-gradient(var(--marker),var(--marker)) 0 88% / 100% .32em no-repeat}.lead{font-size:clamp(18px,2vw,22px);line-height:1.4;letter-spacing:-.02em;color:var(--mute);text-wrap:pretty;max-width:30em}.lead strong{color:var(--ink);font-weight:500}.link{display:inline-flex;align-items:center;gap:.5em;min-height:44px;font-weight:500;letter-spacing:-.01em;background:linear-gradient(var(--marker),var(--marker)) left 78% / 100% .5em no-repeat;transition:color .3s var(--ease),background-size .5s var(--ease)}.link:hover{background-size:100% 100%}.arrow{display:inline-block;transition:transform .5s var(--ease)}a:hover>.arrow,a:hover .arrow{transform:translate(3px,-3px)}.note{font-family:var(--hand);font-size:12.5px;line-height:1.3;color:var(--accent);transform:rotate(-3deg);max-width:14em}.doodle{width:100%;height:auto;overflow:visible}.doodle path,.doodle rect,.doodle circle{fill:none;stroke:var(--ink);stroke-width:var(--sw, 3);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s var(--ease) forwards;animation-delay:calc(var(--d, 0) * .22s + .15s)}.doodle .o{stroke:var(--accent)}.doodle .fill{fill:var(--marker);stroke:none;opacity:0;transform-box:fill-box;transform-origin:center;animation:pop .7s var(--ease) forwards;animation-delay:calc(var(--d, 0) * .22s + .15s)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.hero{position:relative;z-index:1;width:100%;max-width:var(--max);margin-inline:auto;padding:clamp(24px,6vh,72px) var(--gutter) 24px;min-height:calc(100svh - 66px);display:grid;align-content:center;gap:28px 48px}.hero-copy{display:grid;gap:22px;align-content:center}.hero .h-hero{font-size:clamp(40px,6.4vw,100px);max-width:11em}.hero .h-hero .hl{background-size:0% .32em;animation:swipe 1s var(--ease) .9s forwards}@keyframes swipe{to{background-size:100% .32em}}.hero-sub{display:flex;flex-wrap:wrap;align-items:center;gap:12px 36px}.hero-art{position:relative;max-width:560px;justify-self:center;width:100%}.hero-art .note{position:absolute}@media(min-width:900px){.hero{grid-template-columns:1.15fr .85fr;align-items:center}.hero-art{justify-self:end}}@media(max-width:899px){.hero-art{max-width:340px;order:-1;justify-self:start}}.rows,.entry-list,.roles{background:var(--line) left top / 100% 6px no-repeat}.row,.roles li,.entry{background:var(--line) left bottom / 100% 6px no-repeat}.row{position:relative;display:grid;grid-template-columns:3.4em minmax(0,1fr) auto;align-items:baseline;gap:4px 16px;padding:24px 0}.row .num{font-family:var(--hand);font-size:12.5px;color:var(--accent)}.row .name{justify-self:start;font-size:clamp(32px,6vw,84px);line-height:1.02;letter-spacing:-.055em;font-weight:500;background:linear-gradient(var(--marker),var(--marker)) 0 82% / 0% .3em no-repeat;transition:background-size .6s var(--ease),transform .6s var(--ease)}.row .meta{grid-column:2;font-size:14px;color:var(--mute)}.row .go{grid-column:3;grid-row:1;font-size:clamp(22px,3vw,40px);color:var(--accent);opacity:0;transform:translate(-8px,8px);transition:opacity .4s var(--ease),transform .6s var(--ease)}.row:hover .name,.row:focus-visible .name{background-size:100% .3em;transform:translate(.08em)}.row:hover .go,.row:focus-visible .go{opacity:1;transform:none}@media(hover:none){.row .go{opacity:1;transform:none}}@media(min-width:720px){.row{grid-template-columns:4em minmax(0,1fr) minmax(0,20em) 2em;align-items:center;padding:28px 0}.row .meta{grid-column:3}.row .go{grid-column:4;justify-self:end}}.row.sm .name{font-size:clamp(24px,3.4vw,44px);letter-spacing:-.045em}.page{position:relative;z-index:1;width:100%;max-width:var(--max);margin-inline:auto;padding:clamp(40px,9vh,104px) var(--gutter) 0}.page-head{display:grid;gap:18px;margin-bottom:clamp(36px,7vh,80px)}.cols{display:grid;gap:56px}@media(min-width:900px){.cols{grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start}.stack>*{min-width:0}.label{font-family:var(--hand);font-size:12.5px;color:var(--accent);margin-bottom:14px}.prose{display:grid;gap:20px;max-width:36em;font-size:clamp(18px,1.7vw,21px);line-height:1.55;letter-spacing:-.012em;text-wrap:pretty}.prose a{background:linear-gradient(var(--marker),var(--marker)) left 85% / 100% .35em no-repeat}.prose a:hover{color:var(--accent)}.prose h2{font-size:clamp(26px,3vw,38px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin-top:12px}.prose h3{font-size:20px;letter-spacing:-.03em;font-weight:600}.prose ul,.prose ol{padding-left:1.2em;display:grid;gap:8px}.prose ul{list-style:"— "}.prose ol{list-style:decimal}.prose blockquote{border-left:3px solid var(--marker);padding-left:18px;font-style:italic}.prose code{font-family:var(--hand);font-size:.85em;background:var(--dot);padding:1px 6px;border-radius:4px}.prose pre{overflow-x:auto;padding:16px;border:1px dashed var(--rule);border-radius:8px}.prose pre code{background:none;padding:0}.prose img{border-radius:8px}.actions{display:flex;flex-wrap:wrap;gap:4px 28px}.two{display:grid;grid-template-columns:minmax(0,1fr);gap:56px}.two>*,.stack{min-width:0}@media(min-width:900px){.two{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:72px;align-items:start}}.stick{display:inline-block;background:var(--marker);color:#1f1d1a;font-family:var(--hand);font-size:13px;line-height:1.4;padding:2px 10px;transform:rotate(-2deg);white-space:nowrap}.project-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.chips li,.chips button,.chips a{border:1.5px solid var(--ink);border-radius:99px;padding:2px 13px;font-size:13px;letter-spacing:-.005em;background:transparent;color:inherit;font-family:inherit;line-height:1.6}.chips a,.chips button{display:inline-flex;align-items:center;min-height:44px;padding-inline:16px;cursor:pointer;transition:background .3s var(--ease)}.chips a:hover,.chips button:hover,.chips button[aria-pressed=true]{background:var(--marker);border-color:var(--marker);color:#1f1d1a}.chips-links li{border:0;padding:0;border-radius:0}.entry-doodle{--sw: 9}.issue-ic{--sw: 14}.article-doodle{--sw: 6}.chips.filter{display:none;margin:-28px 0 26px}.js .chips.filter{display:flex}.hnote{font-family:var(--hand);font-size:12.5px;color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:20px;margin:18px 0 0}.stats div{border-top:2px solid var(--ink);padding-top:10px}.stats dt{font-family:var(--hand);font-size:12px;color:var(--accent)}.stats dd{margin:6px 0 0;font-size:44px;line-height:1;letter-spacing:-.05em;font-weight:500}.tl{position:relative;margin:0;padding:0 0 0 34px;list-style:none;display:grid;gap:28px}.tl:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;border-left:3px dotted var(--accent)}.tl li{position:relative}.tl li:before{content:"";position:absolute;left:-34px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:2.5px solid var(--ink)}.tl li.now:before{background:var(--marker);box-shadow:0 0 0 5px #ffd84a55}.tl small{font-family:var(--hand);font-size:12.5px;color:var(--accent);display:block}.tl h3{margin:0;font-size:clamp(24px,2.6vw,30px);letter-spacing:-.04em;font-weight:500;line-height:1.1}.tl p{margin:2px 0 0;color:var(--mute);font-size:14px}.btn{display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:0 20px;border:2px solid var(--ink);border-radius:10px;background:var(--marker);color:#1f1d1a;font-weight:500;transition:transform .5s var(--ease)}.btn:hover{transform:translateY(-2px) rotate(-1deg)}.subscribe-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin:-28px 0 28px}.entry-list{list-style:none;margin:0;padding:0}.entry-list>li[hidden]{display:none}.entry2{display:grid;gap:8px 28px;padding:26px 0;align-items:center;background:var(--line) left bottom / 100% 6px no-repeat}.entry2 h2{margin:0 0 8px;font-size:clamp(28px,3.6vw,48px);line-height:1.02;letter-spacing:-.05em;font-weight:500;justify-self:start;background:linear-gradient(var(--marker),var(--marker)) 0 86% / 0% .3em no-repeat;transition:background-size .6s var(--ease)}.entry2:hover h2,.entry2:focus-visible h2{background-size:100% .3em}.entry2 p{margin:0;color:var(--mute);max-width:36em}.entry-doodle{display:none}@media(min-width:800px){.entry2{grid-template-columns:150px minmax(0,1fr) 110px}.entry-doodle{display:block}.entry-doodle .doodle{width:100px}}.issue{display:grid;gap:8px 22px;align-items:center;padding:22px 0;grid-template-columns:56px minmax(0,1fr);background:var(--line) left bottom / 100% 6px no-repeat}.issue .issue-ic{width:56px}.issue h2{margin:2px 0 6px;font-size:clamp(26px,3.2vw,42px);line-height:1.05;letter-spacing:-.045em;font-weight:500}.issue p{margin:0;color:var(--mute)}.issue time{grid-column:2}@media(min-width:800px){.issue{grid-template-columns:56px minmax(0,1fr) auto}.issue time{grid-column:3}}.roles li{display:grid;gap:4px 32px;padding:28px 0}.roles .when{font-family:var(--hand);font-size:12.5px;color:var(--accent)}.roles h2{font-size:clamp(26px,3.4vw,44px);line-height:1.05;letter-spacing:-.045em;font-weight:500}.roles .role{font-size:18px;letter-spacing:-.015em}.roles .tools{font-size:14px;color:var(--mute)}.roles .now{font-family:var(--hand);font-size:12px;color:var(--ink);background:var(--marker);padding:1px 8px;margin-left:12px;vertical-align:middle;transform:rotate(-2deg);display:inline-block}@media(min-width:800px){.roles li{grid-template-columns:160px minmax(0,1fr) minmax(0,16em);align-items:baseline}.roles .tools{text-align:right}}.project{display:grid;gap:14px;align-content:start}.project h2{font-size:clamp(30px,4vw,56px);line-height:1;letter-spacing:-.05em;font-weight:500}.project .lead{font-size:18px}.project .tools{font-family:var(--hand);font-size:12.5px;color:var(--accent)}.next{margin-top:12px;padding:16px 18px;border:2px dashed var(--rule);border-radius:12px;color:var(--mute);font-size:15px;transform:rotate(-.4deg)}.next .label{margin-bottom:4px}.chart{overflow-x:auto;scrollbar-width:thin;border:2px solid var(--ink);border-radius:12px 14px 10px 16px;padding:12px;min-height:120px;background:color-mix(in srgb,var(--paper) 85%,transparent)}.chart img{min-width:520px}.chart img[hidden],.chart figcaption[hidden]{display:none}.chart figcaption{margin-top:10px;font-size:13px;color:var(--mute)}.entry{position:relative;display:grid;gap:6px 24px;padding:26px 0}.entry time{font-family:var(--hand);font-size:12.5px;color:var(--accent)}.entry h2{font-size:clamp(28px,4vw,56px);line-height:1.02;letter-spacing:-.05em;font-weight:500;justify-self:start;background:linear-gradient(var(--marker),var(--marker)) 0 82% / 0% .3em no-repeat;transition:background-size .6s var(--ease)}.entry:hover h2,.entry:focus-visible h2{background-size:100% .3em}.entry p{color:var(--mute);max-width:36em}@media(min-width:800px){.entry{grid-template-columns:11em minmax(0,1fr);align-items:baseline}.entry p{grid-column:2}}.article-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px 48px}.article-doodle{width:min(200px,40vw);position:relative}.article-doodle .note{position:absolute;left:-10px;top:-22px}.back{font-family:var(--hand);font-size:13px;color:var(--accent);display:inline-flex;min-height:44px;align-items:center}.soon{display:grid;gap:24px;justify-items:start;padding-bottom:24px}.soon-grid{display:grid;gap:32px 64px;align-items:center}@media(min-width:900px){.soon-grid{grid-template-columns:1.2fr .8fr}}.soon-art{width:min(100%,340px);justify-self:center}.soon .h-page{max-width:9em}.portrait{position:relative;margin:0;width:min(100%,520px);aspect-ratio:1}.portrait img,.portrait canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:12px}.portrait canvas{opacity:0;transition:opacity .8s var(--ease);touch-action:pan-y;cursor:crosshair}.portrait img{object-fit:cover;background:var(--still-bg);transition:opacity .8s var(--ease)}.js .portrait:not(.is-static) img{opacity:var(--still-pre)}.portrait.is-live canvas{opacity:1}.portrait.is-live img,.js .portrait.is-live img{opacity:0}.portrait figcaption{position:absolute;left:0;right:0;bottom:-28px;font-family:var(--hand);font-size:12px;color:var(--accent)}@media(min-width:900px){.about-cols{grid-template-columns:minmax(0,520px) 1fr;column-gap:96px;align-items:start}.about-cols .portrait{align-self:start;position:sticky;top:96px}}@media(max-width:899px){.portrait{margin-bottom:20px}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s;animation-timing-function:var(--ease)}::view-transition-group(bar){animation-duration:0s}::view-transition-group(tabs){animation-duration:0s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:0ms!important}.doodle path,.doodle rect,.doodle circle{stroke-dashoffset:0}.doodle .fill{opacity:1}.hero .h-hero .hl{background-size:100% .32em}@view-transition{navigation:none}}.hero{min-height:calc(100svh - 180px);padding-top:clamp(24px,4vh,48px)}.arrow{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.project-grid{display:grid;gap:48px}.project-grid .project{min-width:0;gap:14px}.project-grid .stick{justify-self:start}.project-doodle{width:112px;height:96px;display:grid;place-items:center}.project-doodle .doodle{width:100%;max-height:96px}.project-pulse{margin-top:64px;max-width:900px;padding-top:32px;border-top:1px solid var(--rule)}.project-pulse .chart img{min-width:0;width:100%;height:auto}.project-pulse .chart{min-height:0}.project-grid .project h2{font-size:clamp(30px,3vw,44px)}@media(min-width:760px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}@media(max-width:899px){.hero{min-height:auto;padding-top:28px;gap:16px}.hero-copy{gap:16px}.hero-art{order:1;max-width:240px;justify-self:end}.hero-art .note{display:none}}@media(max-width:719px){.tabs{padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper)}body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.hero .h-hero{font-size:clamp(36px,9.8vw,56px)}.foot{padding-top:32px}}.portrait.is-static img{opacity:1!important}.portrait.is-static canvas{opacity:0!important}
