:root{--page:#fdfdfc;--ink:#111111;--ink-2:#222222;--ink-3:#333333;--ink-4:#555555;--muted:#8a8a8a;--muted-2:#b3b3ae;--muted-3:#c0c0bc;--muted-4:#c8c8c4;--rule:#e8e8e5;--rule-2:#eeeeeb;--quote:#d8d8d4;--ascii:#b6b6ae;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,monospace;--ease:cubic-bezier(0.2,0.7,0.2,1);--pad-y:40px;--pad-x:max(clamp(88px,12.5vw,176px),calc((100vw - 1240px) / 2))}*,:after,:before{box-sizing:border-box}body{background:var(--page);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}blockquote,body,figure,h1,h2,p{margin:0}h1,h2,p{text-wrap:pretty}a{color:var(--ink);text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover{color:#777777}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes lineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fi{animation:fadeIn var(--dur,.8s) ease var(--d,0s) both}.fu{animation:fadeUp var(--dur,.8s) var(--ease) var(--d,0s) both}.rule{height:1px;background:var(--rule);transform-origin:left;animation:lineGrow 1s var(--ease) var(--d,0s) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.page{min-height:100svh;display:flex;flex-direction:column;padding:var(--pad-y) var(--pad-x)}.footer,.header{display:flex;justify-content:space-between;align-items:baseline;gap:24px}.wordmark{font-size:13px;font-weight:500}.wordmark-short{display:none}.nav{display:flex;gap:26px;font-size:12px}.nav a{color:var(--muted)}.nav a[aria-current=page]{color:var(--ink)}.nav a:hover{color:#777777}.social{display:flex;gap:22px;font-size:12px}.social a{color:var(--muted)}.social a:hover{color:#777777}.copy{font-size:11px;color:var(--muted-3)}.copy,.mono-label{font-family:var(--mono)}.mono-label{font-size:10px;letter-spacing:.08em;color:var(--muted-2)}.page--home{height:100svh;justify-content:space-between;overflow:hidden;position:relative}.hero{display:flex;flex-direction:column;gap:20px}.headline{max-width:760px;font-size:46px;font-weight:500;letter-spacing:-.035em;line-height:1.06}.bio{font-size:14px;color:var(--muted);line-height:1.6;max-width:480px}.flowers{position:absolute;right:var(--pad-x);top:50%;transform:translateY(-50%);pointer-events:none;z-index:-1}.flowers pre{margin:0;font-size:clamp(6px,min(.95vh,(min(1240px,100vw - 352px) - 800px)/48),9px);font-family:var(--mono);white-space:pre;line-height:1.15;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;color:var(--ascii)}.type-cycle{display:grid;grid-template-columns:104px 1fr;align-items:baseline;grid-gap:0 28px;gap:0 28px}.type-cycle-label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted-2)}.type-cycle-text{font-size:13px;color:var(--ink);line-height:1.4;min-height:1.4em}.type-cycle span{display:inline-block;white-space:pre;transition:opacity .5s ease,transform .5s var(--ease)}.index-head{display:flex;flex-direction:column;gap:14px;margin-top:72px}.index-title{font-size:32px;font-weight:500;letter-spacing:-.03em;line-height:1.12}.rule--head{margin-top:24px}.list{flex-direction:column;flex:1 1}.list,.row{display:flex}.row{justify-content:space-between;gap:24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule-2)}.row:last-child{border-bottom:none}.row-title{font-size:15px}.row-meta{font-family:var(--mono);font-size:11px;color:var(--muted-2)}.empty{padding:16px 0;font-size:15px;color:var(--muted);line-height:1.75}.page--doc{padding-bottom:64px}.doc{display:grid;grid-template-columns:200px 1fr;grid-gap:0 72px;gap:0 72px;margin-top:80px;align-items:start}.doc-head{grid-row:1;gap:20px}.doc-head,.doc-rest{grid-column:2;display:flex;flex-direction:column;max-width:680px}.doc-rest{grid-row:2;gap:36px;margin-top:36px}.doc-title{font-size:30px;font-weight:500;letter-spacing:-.03em;line-height:1.18}.doc-sub{font-size:16px;color:var(--muted);line-height:1.6}.rail{grid-column:1;grid-row:1/span 2;align-self:start;position:-webkit-sticky;position:sticky;top:48px;gap:28px}.rail,.rail-group{display:flex;flex-direction:column}.rail-group{gap:6px}.rail-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:var(--muted-3)}.rail-value{font-family:var(--mono);font-size:11.5px;color:var(--ink-4);line-height:1.6}.rail-actions{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--rule);padding-top:20px}.rail-actions a{font-size:12px}.rail-actions a.muted{color:var(--muted)}.rail-actions a:hover{color:#777777}.prose{display:flex;flex-direction:column;gap:16px}.prose h2{font-size:18px;font-weight:500;letter-spacing:-.015em;margin-top:20px}.prose>:first-child{margin-top:0}.prose p{font-size:15px;line-height:1.75;color:var(--ink-2)}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--muted-4);text-decoration-color:var(--muted-4);text-underline-offset:3px}.prose blockquote{padding:4px 0 4px 24px;border-left:1px solid var(--quote);font-size:15px;line-height:1.7;color:var(--ink-4)}.prose>*{animation:fadeUp .8s var(--ease) 1.5s both}.prose>:first-child{animation-delay:.6s}.prose>:nth-child(2){animation-delay:.7s}.prose>:nth-child(3){animation-delay:.8s}.prose>:nth-child(4){animation-delay:.9s}.prose>:nth-child(5){animation-delay:1s}.prose>:nth-child(6){animation-delay:1.1s}.prose>:nth-child(7){animation-delay:1.2s}.prose>:nth-child(8){animation-delay:1.3s}.prose>:nth-child(9){animation-delay:1.4s}.abstract{display:flex;flex-direction:column;gap:12px;margin-top:20px}.abstract p{font-size:14px;line-height:1.7;color:var(--ink-3)}.figure{display:flex;flex-direction:column;gap:10px;margin-top:20px}.figure-box{border:1px solid var(--rule);background:#ffffff;height:260px;display:flex;align-items:center;justify-content:center}.figure-box span{letter-spacing:.08em;color:var(--muted-4)}.figure figcaption,.figure-box span{font-family:var(--mono);font-size:10px}.figure figcaption{color:var(--muted-2)}.pager{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-top:1px solid var(--rule);padding-top:24px}.pager a{font-size:12px;color:var(--muted)}.pager a:hover{color:#777777}@media (max-width:1100px){.doc{grid-template-columns:1fr;gap:32px;margin-top:48px}.doc-head,.doc-rest,.rail{grid-column:1;grid-row:auto}.doc-rest{margin-top:0}.rail{position:static;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:8px 24px}.rail-label{display:none}.rail-value{color:var(--muted)}.rail-group--compact-hide{display:none}.rail-actions{flex-direction:row;gap:24px;border-top:none;padding-top:0}.rail-actions a.muted{display:none}}@media (max-width:1499px){.page--home{height:auto;overflow:visible;gap:16px}.hero{margin-top:clamp(24px,4.4svh,40px)}.flowers{position:static;transform:none;z-index:auto;align-self:center;margin-top:clamp(40px,8.6svh,76px)}.flowers pre{font-size:clamp(3.5px,min((100vw - 2 * var(--pad-x))/58,.78svh),9px)}}@media (max-width:700px){:root{--pad-y:24px;--pad-x:24px}.wordmark{font-size:12px}.wordmark-full{display:none}.wordmark-short{display:inline}.nav,.social{gap:16px;font-size:11.5px}.copy{font-size:10.5px}.page--doc{padding-bottom:40px}.hero{gap:16px}.headline{font-size:29px;letter-spacing:-.028em;line-height:1.14}.bio{font-size:13.5px;line-height:1.6;max-width:none}.type-cycle{grid-template-columns:1fr;gap:10px}.index-head{margin-top:44px;gap:12px}.index-title{font-size:26px;letter-spacing:-.025em}.rule--head{margin-top:16px}.row{flex-direction:column;align-items:stretch;gap:4px;padding:14px 0}.row-title{font-size:14px;line-height:1.4}.row-meta{font-size:11px}.doc-title{font-size:24px;letter-spacing:-.025em;line-height:1.22}.doc-sub{font-size:15px}.doc-head{gap:14px}.doc-rest{gap:32px}.abstract p{font-size:14px}.prose h2{font-size:17px;letter-spacing:-.01em}.prose p{font-size:15px}.prose blockquote{padding-left:20px;font-size:15px}.figure-box{height:180px}.figure-box span{font-size:9.5px}.pager{padding-top:20px}.pager a{font-size:11.5px}}