@font-face{font-family:Charis;src:url(/fonts/charis-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Charis;src:url(/fonts/charis-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Charis;src:url(/fonts/charis-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/plex-sans-latin-wght.woff2)format("woff2");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-latin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Charis fallback mac;src:local(Charter Roman),local(Charter-Roman),local(Charter);size-adjust:101.63%}@font-face{font-family:Charis fallback mac;src:local(Charter Bold),local(Charter-Bold);font-weight:700;size-adjust:102.63%}@font-face{font-family:Charis fallback mac;src:local(Charter Italic),local(Charter-Italic);font-style:italic;size-adjust:99.11%}@font-face{font-family:Charis fallback;src:local(Georgia);size-adjust:101.09%}@font-face{font-family:Charis fallback;src:local(Georgia Bold),local(Georgia-Bold);font-weight:700;size-adjust:93.17%}@font-face{font-family:Charis fallback;src:local(Georgia Italic),local(Georgia-Italic);font-style:italic;size-adjust:92.23%}@font-face{font-family:Plex fallback;src:local(Helvetica Neue);font-weight:100 700;size-adjust:99.34%}@font-face{font-family:Plex fallback win;src:local(Arial);font-weight:100 700;size-adjust:100.3%}:root{--r-1:6px;--r-2:8px;--r-3:12px;--font-voice:Charis, "Charis fallback mac", "Charis fallback", Charter, "Bitstream Charter", Georgia, serif;--font-furniture:"IBM Plex Sans", "Plex fallback", "Plex fallback win", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-label:.8125rem;--text-furniture:.875rem;--text-sub:.9375rem;--text-body:1.125rem;--text-reading:1.25rem;--text-title:1.305rem;--text-name:1.756rem;--bar-shadow:0 0 0 1px var(--line), 0 1px 2px color-mix(in oklch, var(--surface-shadow) 40%, transparent), 0 6px 16px -6px var(--surface-shadow);font-family:var(--font-voice);font-synthesis:none;font-kerning:normal;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:oklch(15.5% .004 55);--fill:oklch(93% .006 250/.07);--line:oklch(29% .006 55);--strong:oklch(96% .006 250);--text:oklch(89% .006 250);--reading:oklch(85% .006 250);--quiet:oklch(76% .006 250);--faint:oklch(63% .006 250);--accent:oklch(69% .115 59);--surface:oklch(15.5% .004 55/.88);--surface-2:oklch(93% .006 250/.09);--surface-shadow:oklch(0% 0 0/.55)}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:oklch(100% 0 0);--fill:oklch(34% .008 85/.055);--line:oklch(34% .008 85/.1);--strong:oklch(27% .008 85);--text:oklch(34% .008 85);--reading:oklch(34% .008 85);--quiet:oklch(50% .008 85);--faint:oklch(62% .008 85);--accent:oklch(52% .11 150);--surface:oklch(100% 0 0/.9);--surface-2:oklch(34% .008 85/.06);--surface-shadow:oklch(30% .01 85/.1)}}*{box-sizing:border-box}body{background:var(--ground);color:var(--text);font-size:var(--text-body);margin:0;line-height:1.55}h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}h1,h2,h3{font:inherit;color:var(--strong);text-wrap:balance}ul[role=list]{padding:0;list-style:none}a{color:inherit;touch-action:manipulation;text-decoration:none;transition:color .15s ease-out,text-decoration-color .15s ease-out}button{font:inherit;color:inherit;touch-action:manipulation}:is(a,button):focus-visible{outline:2px solid var(--strong);outline-offset:3px;border-radius:4px}main:focus{outline:none}::selection{background:var(--line);color:var(--strong)}.site{isolation:isolate;min-height:100dvh;display:flow-root;position:relative;overflow-x:clip}.site:before{content:"";z-index:-1;pointer-events:none;background:-webkit-image-set(url(/black-oak.avif) 1x type("image/avif"),url(/black-oak.webp) 1x type("image/webp")) 0 0/900px;background:image-set("/black-oak.avif" 1x type("image/avif"),"/black-oak.webp" 1x type("image/webp")) 0 0/900px;transition:opacity .4s;position:absolute;inset:0}.site[data-reading]:before{opacity:0}@media (prefers-color-scheme:light){.site:before{display:none}}.column{gap:3.25rem;max-width:38rem;margin-inline:auto;padding:clamp(3rem,14vh,8.5rem) 1.5rem 3rem;display:grid}.footer{max-width:38rem;color:var(--quiet);margin-inline:auto;padding:2rem 1.5rem 4rem}.ui{font-family:var(--font-furniture);font-size:var(--text-furniture);font-variant-numeric:tabular-nums;line-height:1.4}.quiet{color:var(--quiet)}.name{font-size:var(--text-name);letter-spacing:-.015em;color:var(--strong);font-weight:700;line-height:1.2}.draft-flag{font-size:var(--text-label);color:var(--quiet);margin-inline-start:.6em}.about{gap:1.25rem;display:grid}.bio{text-wrap:pretty;flex-direction:column;align-items:flex-start;gap:.9em;display:flex}.email{position:relative}.email:before{content:"";height:44px;position:absolute;inset:50% -.4rem auto;translate:0 -50%}.at:before{content:"@"}.brand{align-items:center;min-height:44px;margin-block:-6px;display:inline-flex}.bar-slot{z-index:2;margin:-1rem -.5rem -1.5rem;position:sticky;top:.6rem}.tabs{border-radius:var(--r-3);background:var(--surface);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);box-shadow:var(--bar-shadow);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:4px;display:grid}.tab{border-radius:var(--r-2);min-height:60px;font-size:var(--text-label);color:var(--quiet);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.5rem .25rem .4rem;font-weight:500;transition:color .15s ease-out,background-color .15s ease-out,transform .15s ease-out;display:flex}.tab:active{transform:scale(.97)}.tab[data-status=active]{color:var(--strong);background:var(--surface-2)}.tab[data-status=active] svg{color:var(--accent)}.i-door{fill:currentColor;fill-opacity:0}.i-sketch{stroke-dasharray:1 2}.i-page{transform-box:view-box;transform-origin:10px 12px}@keyframes icon-light{35%,65%{fill-opacity:.4}}@keyframes icon-sketch{0%{stroke-dashoffset:1.05px}}@keyframes icon-lift{0%{animation-timing-function:cubic-bezier(.32,.72,0,1)}45%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:scale(1.07)}}@media (hover:hover) and (pointer:fine){.tab:hover .i-door{fill-opacity:.4}}@media (prefers-reduced-motion:no-preference){.i-door{transition:fill-opacity .2s ease-out}.tab[data-arrived] .i-door{animation:.7s ease-in-out icon-light}.tab[data-arrived] .i-sketch{animation:.4s cubic-bezier(.45,0,.25,1) both icon-sketch}.tab[data-arrived] .i-page{animation:.4s icon-lift}@media (hover:hover) and (pointer:fine){.tab:hover .i-sketch{animation:.4s cubic-bezier(.45,0,.25,1) both icon-sketch}.tab:hover .i-page{animation:.4s icon-lift}}}.reading{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;min-height:52px;padding:2px;display:grid}.reading-title{grid-column:2}.reading-back{z-index:1;border-radius:var(--r-2);width:48px;height:48px;color:var(--quiet);transition:color .15s ease-out, transform .15s ease-out, translate var(--snap-ms) var(--snap);justify-self:start;place-items:center;margin:2px;display:grid;translate:2px 8px}.bar[data-reading][data-docked] .reading-back{translate:0}.bar[data-reading] .tabs{padding-inline-start:54px}.reading-back:active{transform:scale(.96)}.reading-title{min-width:0;color:var(--strong);text-align:center;padding:0 .25rem;font-weight:500}.reading-title span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.bar-slot[data-reading]{min-height:68px;top:0}.bar[data-reading]{--snap:cubic-bezier(.32, .72, 0, 1);--snap-ms:.56s;isolation:isolate;min-height:68px;display:grid}.bar[data-reading]:before{content:"";z-index:-1;border-radius:var(--r-3);background:var(--surface);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);height:68px;box-shadow:var(--bar-shadow);transition:left var(--snap-ms) var(--snap), right var(--snap-ms) var(--snap), height var(--snap-ms) var(--snap), border-radius var(--snap-ms) var(--snap), box-shadow var(--snap-ms) var(--snap);position:absolute;top:0;left:0;right:0}.bar[data-reading][data-docked]:before{background:var(--ground);-webkit-backdrop-filter:none;backdrop-filter:none;height:52px;box-shadow:0 1px 0 var(--line), 0 1px 2px transparent, 0 6px 16px -6px transparent;border-radius:0;left:calc(50% - 50vw);right:calc(50% - 50vw)}.bar[data-reading][data-docked]:after{content:"";z-index:-1;background:var(--ground);pointer-events:none;height:20px;position:absolute;bottom:calc(100% - 4px);left:calc(50% - 50vw);right:calc(50% - 50vw)}.bar[data-reading]{transition:background-color}.bar-slot[data-reading][data-docked]{position:relative;top:0}.bar[data-reading][data-docked]{background:var(--ground) content-box;transition:background-color 0s var(--snap-ms);grid-template-rows:52px;padding-bottom:16px;position:fixed;top:0;left:max(1rem,50% - 18rem);right:max(1rem,50% - 18rem)}.bar[data-reading] .tabs{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.bar[data-reading]>*{grid-area:1/1;align-self:start}.bar[data-reading]>:is(.tabs,.reading){transition:opacity .3s ease-out .16s,visibility}.bar[data-reading]:not([data-docked]) .reading,.bar[data-reading][data-docked] .tabs{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease-in,visibility 0s .14s}.panel{align-content:start;gap:3.25rem;min-height:36rem;scroll-margin-top:calc(68px + 2.1rem);display:grid}.section{gap:.35rem;display:grid}.door{font-size:var(--text-title);letter-spacing:-.02em;color:var(--faint);align-items:baseline;gap:.4rem;padding-block:calc(22px - .7em);font-weight:600;display:inline-flex}.count{top:calc((var(--text-label) - var(--text-title)) * .349);font-size:var(--text-label);font-weight:500;position:relative}.arrow{top:calc(9px - var(--text-title) * .349);opacity:0;margin-inline-start:.15rem;transition:opacity .15s ease-out,translate .15s ease-out;position:relative;translate:-4px}.row{border-radius:var(--r-2);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 1.5rem;min-height:44px;margin-inline:-.65rem;padding:15px .65rem;transition:background-color .12s ease-out;display:grid}.row-title{color:var(--strong);font-size:var(--text-title);text-wrap:pretty;overflow-wrap:anywhere;line-height:1.3}.row-date{color:var(--quiet);font-size:var(--text-label);white-space:nowrap}.row-sub{color:var(--quiet);font-size:var(--text-sub);text-wrap:pretty;grid-column:1;max-width:52ch;line-height:1.5}.pager{color:var(--quiet);font-size:var(--text-label);justify-content:flex-end;align-items:center;gap:.1rem;display:flex}.pager span[role=status]{margin-inline-end:.4rem}.pager-step{border-radius:var(--r-2);width:40px;height:40px;color:var(--faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .15s ease-out,transform .15s ease-out;display:inline-grid;position:relative}.pager-step:before{content:"";position:absolute;inset:-2px}.pager-step:active{transform:scale(.96)}.pager-step:is(:disabled,[data-disabled]){opacity:.35;cursor:default}.empty{color:var(--quiet);padding-block:.75rem}.new-post{margin-bottom:-2.5rem}.new-post-title{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;font:inherit;font-size:var(--text-title);color:var(--strong);background:0 0;border-radius:0;outline:none;padding:15px 0;line-height:1.3}.new-post-title::placeholder{color:var(--faint);opacity:1}.new-post-title:focus-visible{border-bottom-color:var(--accent)}.new-post-error{color:var(--text);padding-top:.5rem}.reel{gap:4px;display:grid}ul.reel-strip{--peek-gap:12px;--peek-back:28px;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--peek-gap)) / 2.3);gap:var(--peek-gap);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:calc(8px + var(--peek-back) + var(--peek-gap)) 8px;scrollbar-width:none;margin:-8px;padding:8px;display:grid;overflow-x:auto}.reel-strip::-webkit-scrollbar{display:none}.reel-strip>li{scroll-snap-align:start;display:grid}.reel-piece{border-radius:var(--r-2);align-content:start;gap:8px;display:grid}.reel-piece,.reel-more{isolation:isolate;position:relative}.reel-piece:before,.reel-more:before{content:"";z-index:-1;border-radius:calc(var(--r-2) + 8px);background:color-mix(in oklch, var(--strong) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--strong) 18%, transparent);opacity:0;transition:opacity .15s ease-out;position:absolute;inset:-8px}.reel-piece:focus-visible{outline:2px solid var(--strong);outline-offset:2px}.reel-title{color:var(--text);font-size:var(--text-sub);text-wrap:pretty;line-height:1.35;transition:color .15s ease-out}.reel-more{aspect-ratio:16/10;border-radius:var(--r-2);background:var(--fill);box-shadow:0 0 0 1px var(--line);color:var(--quiet);font-size:var(--text-label);justify-content:center;align-self:start;align-items:center;gap:4px;font-weight:500;transition:color .15s ease-out;display:flex}.reel-bar{justify-content:end;align-items:center;gap:.1rem;min-height:44px;display:flex}.reel-bar [hidden]{display:none}@media (width<=30rem){ul.reel-strip{grid-auto-columns:calc((100% - var(--peek-gap)) / 1.25)}}@media (pointer:coarse){ul.reel-strip{scroll-snap-type:none}}.clip{aspect-ratio:16/10;border-radius:var(--r-2);background:var(--fill);width:100%;height:auto;box-shadow:0 0 0 1px var(--line);display:block}.clip-frame{justify-self:stretch;margin-top:1.5rem;position:relative}.clip-frame .clip-toggle{position:absolute;bottom:8px;right:8px}.clip-toggle{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#00000080;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;transition:opacity .15s ease-out,transform .15s ease-out;display:grid}.clip-toggle[hidden]{display:none}.clip-toggle:before{content:"";position:absolute;inset:-8px}.clip-toggle:active{transform:scale(.96)}.work{gap:28px;width:min(75rem,100vw - 3rem);margin-inline:calc(50% + -1*min(37.5rem,50vw - 1.5rem));display:grid}.pieces{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:36px 24px;display:grid}.piece{border-radius:var(--r-3);background:var(--ground);box-shadow:0 0 0 1px var(--line);align-content:start;display:grid;position:relative}.piece .clip-frame{margin-top:0}.piece .clip{border-radius:var(--r-3) var(--r-3) 0 0;box-shadow:0 1px 0 var(--line)}.piece-line{border-radius:0 0 var(--r-3) var(--r-3);background:radial-gradient(circle at 3px 6px, var(--line) .9px, transparent 1.5px) 0 0 / 12px 24px, radial-gradient(circle at 9px 18px, var(--line) .9px, transparent 1.5px) 0 0 / 12px 24px;grid-template-columns:fit-content(100%);padding:18px 20px 20px;display:grid}.piece-line>*{grid-area:1/1}.piece-words{isolation:isolate;flex-direction:column;align-items:start;gap:4px;min-width:0;display:flex}.piece-clear{background:var(--ground);-webkit-mask-composite:source-in;margin:-12px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000),linear-gradient(#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000),linear-gradient(#0000,#000 12px calc(100% - 12px),#0000);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.piece-title{min-width:0;font-size:var(--text-body);text-wrap:pretty;line-height:1.3}.piece-title a:after{content:"";z-index:1;border-radius:var(--r-3);position:absolute;inset:0}.piece-title a:focus-visible{outline:none}.piece-title a:focus-visible:after{outline:2px solid var(--strong);outline-offset:4px}.piece .clip-toggle{z-index:2}.piece-action{color:var(--quiet);font-size:var(--text-label);align-items:center;gap:4px;font-weight:500;line-height:1.2;transition:color .15s ease-out;display:inline-flex}.piece-action svg{transition:translate .15s ease-out}.article{justify-items:start;gap:.4rem;display:grid}.article .name{max-width:12.91em}.doc-action{border-radius:var(--r-1);background:var(--fill);height:26px;font-size:var(--text-label);color:var(--text);cursor:pointer;border:0;align-items:center;margin-inline-start:.6em;padding:0 .6rem;font-weight:500;display:inline-flex;position:relative}.doc-action:before{content:"";height:44px;position:absolute;inset:50% 0 auto;translate:0 -50%}.doc-action-error{color:var(--text);margin-top:.4rem;display:block}.back{min-height:44px;color:var(--quiet);align-items:center;gap:.2rem;margin-inline-start:-.35rem;font-weight:500;display:inline-flex}.prose{max-width:56ch;font-size:var(--text-reading);color:var(--reading);overflow-wrap:break-word;margin-block:2rem 2.5rem;line-height:1.75}.prose>*+*{margin-top:1.7em}.prose :is(h2,h3){font-family:var(--font-furniture);letter-spacing:-.01em;margin-top:2.4em;font-size:1em;font-weight:600}.prose :is(h2,h3)+*{margin-top:.6em}.prose a{text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 35%, transparent)}.prose ul,.prose ol{padding-inline-start:1.2em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--faint)}.prose blockquote{padding-inline-start:1.25em;font-style:italic;position:relative}.prose blockquote:before{content:"";background:var(--line);border-radius:4px;width:4px;position:absolute;inset-block:.2em;inset-inline-start:0}.prose code{font-family:var(--font-mono);font-size:.82em}.prose :not(pre)>code{border-radius:var(--r-1);background:var(--fill);padding:.1em .3em}.prose pre{border-radius:var(--r-2);border:1px solid var(--line);padding:1em 1.15em;line-height:1.55;overflow-x:auto}.prose img,.prose video{border-radius:var(--r-2);max-width:100%;height:auto}.prose video{aspect-ratio:16/10;background:var(--fill);width:100%;display:block}.prose figure{justify-items:start;gap:.5rem;margin-inline:0;display:grid}.prose figure :is(img,video){box-shadow:0 0 0 1px var(--line);display:block}.prose figcaption{text-wrap:balance}.skip{z-index:3;background:var(--ground);color:var(--strong);font-family:var(--font-furniture);padding:12px;position:absolute;top:0;transform:translateY(-150%)}.skip:focus{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:hover) and (pointer:fine){.doc-action:hover,.email:hover,.tab:hover,.door:hover,.back:hover,.reading-back:hover,.pager-step:hover:not(:disabled,[data-disabled]){color:var(--strong)}.door:hover .arrow{opacity:1;translate:0}.row:hover{background:var(--fill)}.reel-piece:hover .reel-title,.reel-more:hover{color:var(--strong)}.reel-piece:hover:before,.reel-more:hover:before{opacity:1}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.clip-toggle{opacity:0}.clip-frame:hover .clip-toggle,.clip-toggle:focus-visible,.piece:hover .clip-toggle{opacity:1}.piece:hover .piece-action{color:var(--strong)}@media (prefers-reduced-motion:no-preference){.piece:hover .piece-action svg{translate:2px}.piece:hover .piece-action[data-away] svg{translate:1.5px -1.5px}}}@media (hover:none){.arrow{opacity:1;translate:0}}@media (width<=40rem){.tab{font-size:.75rem}}@media (width<=24rem){.bar[data-reading] .tab{padding-inline:0;font-size:.6875rem}}@media (width<=30rem){.row{grid-template-columns:minmax(0,1fr)}.row-date{grid-row:3}}@media (prefers-reduced-motion:reduce){.arrow,.bar[data-reading]>*,.bar[data-reading]:before{transition:none!important}}
