:root{color-scheme:light;--paper:#eeede7;--ink:#292d2c;--muted:#68706a;--line:#292d2c29;--accent:#54695f;--serif:"Iowan Old Style", "Baskerville", "Palatino Linotype", "Songti SC", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--gutter:clamp(22px, 4vw, 64px);font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-underline-offset:.28em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:where(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:5px}p,h1,h2,h3{margin:0}p{line-height:1.8}h1,h2,h3{font-weight:400}svg{vertical-align:middle;flex-shrink:0}img{max-width:100%;height:auto}::selection{color:#1c3429;background:#c7d1c3}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:40;background:var(--paper);color:var(--ink);padding:14px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-shell{flex-direction:column;min-height:100svh;display:flex}.site-header{min-height:104px;padding:20px var(--gutter);justify-content:space-between;align-items:center;gap:24px;display:flex}.wordmark{min-height:44px;font-family:var(--serif);letter-spacing:-.065em;align-items:baseline;padding-top:5px;font-size:1.75rem;font-style:italic;text-decoration:none;display:inline-flex}.wordmark-dot{color:var(--accent)}.site-header nav{gap:32px;display:flex}.site-header nav a{letter-spacing:.06em;align-items:center;min-height:44px;font-size:.76rem;text-decoration:none;display:inline-flex;position:relative}.site-header nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.header-return{min-height:44px;color:var(--muted);align-items:center;gap:16px;margin-left:auto;margin-right:36px;font-size:.68rem;text-decoration:none;display:inline-flex}main[data-page-content]{flex:1;width:min(100%,1096px);margin:0 auto;padding:0 48px 90px}main:focus,[tabindex="-1"]:focus{outline:none}.eyebrow,.meta{color:var(--muted);letter-spacing:.035em;font-size:.68rem;line-height:1.65}.meta{font-family:var(--mono)}.eyebrow{letter-spacing:.16em}.page-heading{padding:48px 0 38px}.page-heading .eyebrow{margin-bottom:18px}.page-heading h1{font:400 1.35rem/1.4 var(--sans);letter-spacing:.08em}.writing-list,.work-list,.contact-list,.friend-list{margin:0;padding:0;list-style:none}.writing-list li{border-top:1px solid var(--line)}.writing-list li:last-child{border-bottom:1px solid var(--line)}.writing-list a{grid-template-columns:140px minmax(0,1fr) 32px;align-items:start;gap:28px;padding:38px 0 46px;text-decoration:none;display:grid}.writing-list .meta{padding-top:10px}.writing-list h2{font-family:var(--serif);letter-spacing:-.035em;text-wrap:balance;max-width:610px;font-size:clamp(1.7rem,3.5vw,2.8rem);line-height:1.23}.writing-list svg{margin-top:12px;transition:transform .2s}.writing-list a:hover svg{transform:translate(3px,-3px)}.work-list>li+li{margin-top:70px}.work-list>li{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:38px;display:grid}.work-preview{background:radial-gradient(#8dcbb912,#0000 68%);display:block;position:relative;overflow:hidden}.work-preview-cover{aspect-ratio:8/15;justify-self:center;width:100%;max-width:256px}.work-cover{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.work-emblem{color:#c8eee4;width:100%;height:auto;display:block}.emblem-stroke{stroke:#c8eee4;filter:drop-shadow(0 0 5px #9cdbc68c)}.emblem-orbits{stroke:#85bcc4;opacity:.32}.emblem-beacon{fill:#cfbce6;filter:drop-shadow(0 0 7px #c8aae8)}.emblem-particles{fill:#abdbdf}.emblem-particles circle{animation:4.8s ease-in-out infinite alternate emblem-drift;animation-delay:var(--phase);transition:transform .7s}.work-preview:is(:hover,:focus-visible) .emblem-particles circle{transform:translate(var(--dx), var(--dy));opacity:.95;animation:none}@keyframes emblem-drift{0%{opacity:.35;transform:translate(0)}to{transform:translate(var(--drift-x), var(--drift-y));opacity:.8}}.work-caption{flex-direction:column;gap:22px;padding-top:24px;display:flex}.work-caption h2{font-family:var(--serif);letter-spacing:-.04em;margin-top:9px;font-size:2.25rem;line-height:1.2}.work-caption h2 a{text-decoration:none}.work-caption .work-description{color:var(--muted);font:.9rem/1.8 var(--sans);margin:0}.back-link{min-height:44px;color:var(--muted);align-items:center;gap:14px;margin:36px 0 44px;font-size:.72rem;text-decoration:none;display:inline-flex}.article-heading{margin-bottom:42px}.article-meta{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;display:flex}.article-heading h1{max-width:900px;font-family:var(--serif);letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere;margin:24px 0;font-size:clamp(2.75rem,5.7vw,4.7rem);line-height:1.04}.lede{max-width:660px;color:var(--muted);font-size:1rem;line-height:1.8}.journal-article{max-width:800px;margin:0 auto}.journal-article .article-heading{border-bottom:1px solid var(--line);margin-bottom:34px;padding-bottom:34px}.prose{overflow-wrap:anywhere;max-width:680px;font-size:1.0625rem;line-height:1.95}.prose p{line-height:inherit;margin-bottom:1.55em}.prose h2{margin:2em 0 .8em;font-size:1.4rem;line-height:1.4}.prose h3{margin:1.7em 0 .7em;font-size:1.15rem}.prose ul,.prose ol{margin-bottom:1.5em;padding-left:1.5em}.prose li+li{margin-top:.4em}.prose a{color:var(--accent)}.prose img,.prose video{max-width:100%;height:auto;margin:28px 0;display:block}.prose pre{border:1px solid var(--line);padding:22px;font-size:.84rem;line-height:1.8;overflow-x:auto}.prose code{font-family:var(--mono);font-size:.9em}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.9em;display:block;overflow-x:auto}.prose td,.prose th{border-bottom:1px solid var(--line);text-align:left;padding:12px}.prose blockquote{border-left:1px solid var(--accent);color:var(--muted);margin:1.7em 0;padding-left:24px}.prose :target{scroll-margin-top:28px}.launch-link{background:var(--ink);min-height:52px;color:var(--paper);justify-content:space-between;align-items:center;gap:38px;margin-top:24px;padding:0 22px;font-size:.78rem;text-decoration:none;display:inline-flex}.launch-link:hover{background:var(--accent);color:var(--paper)}.article-return{border-top:1px solid var(--line);justify-content:space-between;align-items:center;max-width:680px;margin-top:54px;padding:22px 0;font-size:.72rem;text-decoration:none;display:flex}.contact-list li{border-top:1px solid var(--line)}.contact-list li:last-child{border-bottom:1px solid var(--line)}.contact-list a{justify-content:space-between;align-items:center;gap:24px;padding:26px 0 32px;text-decoration:none;display:flex}.contact-list h2{font-family:var(--serif);letter-spacing:-.045em;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.3}.contact-list span{color:var(--muted);overflow-wrap:anywhere;margin-top:8px;font-size:.78rem;display:block}.contact-list svg{width:30px;height:30px}.friends-section{margin-top:64px}.friend-list a{justify-content:space-between;align-items:center;min-height:56px;display:flex}.friend-list p{color:var(--muted);font-size:.9rem}@media (width<=700px){.site-header{gap:20px;min-height:84px;padding-block:15px}.wordmark{font-size:1.6rem}.site-header nav{gap:24px}.site-header nav a{font-size:.72rem}.header-return{display:none}main[data-page-content]{padding:0 24px 64px}.page-heading{padding:46px 0 44px}.page-heading h1{font-size:1.25rem}.writing-list a{grid-template-columns:minmax(0,1fr) 26px;gap:18px;padding:25px 0 32px}.writing-list .meta{grid-column:1/-1;padding:0}.writing-list h2{font-size:1.9rem}.writing-list svg{margin-top:5px}.work-list>li{grid-template-columns:1fr;gap:22px}.work-caption{gap:14px;padding-top:0}.back-link{margin:22px 0 32px}.article-heading h1{font-size:clamp(2.65rem,9.5vw,3.6rem);line-height:1.08}.article-heading{margin-bottom:28px}.article-meta{flex-direction:column;gap:8px}.article-meta .meta{font-size:.6rem}.lede{font-size:.9rem}.prose{font-size:1rem;line-height:1.95}.contact-list a{padding:22px 0 28px}.contact-list span{font-size:.73rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.terminal-document{--paper:#0c1b25;--ink:#e0ece5;--muted:#a1b6b5;--line:#dcece331;--accent:#c8e4d2;color-scheme:dark;background:var(--paper);color:var(--ink)}.terminal-content .page-heading h1{font:400 1.15rem/1.5 var(--sans)}.terminal-content .writing-list a{grid-template-columns:110px minmax(0,1fr) 24px;align-items:center;gap:28px;min-height:108px;padding:24px 0}.terminal-content .writing-list .meta{padding:0}.terminal-content .writing-list h2{font:400 1.1rem/1.7 var(--sans);letter-spacing:0;text-wrap:pretty}.terminal-content .writing-list svg{margin:0}.terminal-content .work-list>li{gap:28px}.terminal-content .work-caption{gap:28px;padding-top:12px}.terminal-content .work-caption h2{font:500 1.5rem/1.3 var(--mono);letter-spacing:-.04em;margin-top:14px}.terminal-content .work-caption>h2{margin:0}.empty-writing{min-height:96px;font:.78rem/1.8 var(--mono);color:var(--muted);flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;display:flex}.empty-writing p{margin:0}.empty-writing a{align-items:center;min-height:44px;display:inline-flex}.terminal-content .meta{font-size:.62rem}.terminal-launch{border:1px solid var(--line);color:#21352f;background:#cfdfcd;border-color:#cfdfcd;justify-content:space-between;align-items:center;gap:20px;min-height:46px;padding:0 14px;font-size:.75rem;text-decoration:none;display:flex}.terminal-launch:hover{color:#132c23;background:#e2edde}.terminal-content .contact-list h2{font:400 1.3rem/1.5 var(--sans);letter-spacing:0}.terminal-content .contact-list span{font-family:var(--mono);margin-top:10px;font-size:.8rem}.terminal-content .contact-list a{min-height:120px}.terminal-content .contact-list svg{width:20px;height:20px}@media (width<=700px){.terminal-content .writing-list a{grid-template-columns:minmax(0,1fr) 24px;gap:16px;padding-block:24px}.terminal-content .writing-list h2{font-size:1rem}.terminal-content .work-caption{gap:20px;padding-top:0}.terminal-content .work-list>li{gap:22px}.terminal-content .work-caption h2{margin-top:10px}.terminal-content .contact-list span{font-size:.72rem}}
