:root{color-scheme:dark;--paper:#282c35;--ink:#e6e7eb;--fg:var(--ink);--muted:#b3b8c2;--accent:#c6a980;--line:#424753;--soft:#30353f;--link:#b0c6d5;--tag-bg:#285f96;--tag-ink:var(--ink);--credit:#949494;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}html[data-theme=light]{color-scheme:light;--paper:#fbfbfc;--ink:#282c35;--muted:#6c737f;--accent:#806643;--line:#e1e3e8;--soft:#f0f1f4;--link:#466477;--tag-bg:var(--accent);--tag-ink:var(--paper);--credit:#737373}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);min-height:100vh;color:var(--ink);flex-direction:column;margin:0;font:19px/1.8 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;display:flex}a{color:var(--ink);text-underline-offset:.2em;text-decoration-color:var(--muted)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img,svg{max-width:100%}button{font:inherit}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--paper);z-index:10;padding:10px 15px;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}.site-header{grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:26px;width:min(1040px,100% - 64px);margin:0 auto;padding-top:8px;display:grid}.site-nav{font:13px/1.8 var(--mono);flex-wrap:wrap;justify-self:end;gap:8px 24px;display:flex}.site-nav a{color:var(--muted);text-decoration:none}.site-nav [aria-current=page]{color:var(--accent)}.theme-toggle{width:48px;height:48px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.theme-toggle:hover{color:var(--ink)}.theme-bulb{pointer-events:none;width:36px;height:36px;display:block}.bulb-light{display:none}html[data-theme=light] .theme-toggle{color:var(--accent)}html[data-theme=light] .bulb-light{display:inline}.home{flex:1;width:min(1040px,100% - 64px);min-width:0;margin:0 auto}.home h1{letter-spacing:-.055em;margin:0;font-size:30px;font-weight:800;line-height:1.15}.home-title-dot{color:var(--accent);text-decoration:none}.home-intro{max-width:47ch;color:var(--muted);margin:24px 0 0;font-size:21px;line-height:1.7}.published{margin-top:43px}.published-list{margin:0;padding:0;list-style:none}.published-row{border-top:1px solid var(--line);grid-template-columns:94px minmax(0,1fr);align-items:start;gap:21px;padding:28px 0;display:grid}.published-row.has-artwork{grid-template-columns:94px minmax(0,1fr) 188px}.published-row time{font:12px/1.7 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;padding-top:4px}.published-copy{min-width:0}.published-title{letter-spacing:-.015em;font-size:21px;font-weight:500;line-height:1.45;text-decoration:none;display:inline-block}.published-meta{font:11px/1.7 var(--mono);color:var(--muted);margin:7px 0 0}.post-tag{background:var(--tag-bg);color:var(--tag-ink);border-radius:2px;padding:1px 5px;line-height:1.65;display:inline-block}.published-description{color:var(--muted);max-width:54ch;margin:13px 0 0;font-size:17px;line-height:1.75}.article-sketch{color:var(--ink);align-self:center;text-decoration:none;display:block}.article-sketch svg,.article-sketch img{width:100%;height:auto;display:block}.article-sketch:hover{opacity:.8}.pagination{font:13px/1.8 var(--mono);justify-content:space-between;gap:24px;margin-top:24px;display:flex}.pagination a{color:var(--muted)}.about-layout{flex:1;width:calc(100% - 64px);max-width:1040px;margin:0 auto;padding:32px 0 40px}.about-inline .prose{max-width:700px}.about-heading{align-items:center;gap:18px;margin:0 0 28px;display:flex}.about-heading .about-avatar{object-fit:contain;flex:none;width:80px;height:80px;display:block}.about-heading .red-cap-avatar{transform:scaleX(-1)}.about-heading h1{margin:0}.article-layout{flex:1;grid-template-columns:145px minmax(0,700px);align-items:start;gap:50px;width:100%;max-width:1060px;margin:0 auto;padding:65px 30px 40px;display:grid}.article-layout.without-illustration{max-width:760px;display:block}.article-illustration{min-width:0;margin:34px 0 0}.article-illustration svg,.article-illustration img{width:100%;height:auto;display:block}.prose{min-width:0;font-size:19px;line-height:1.8}.prose h1{letter-spacing:-.04em;margin:0 0 28px;font-size:clamp(34px,5vw,48px);font-weight:550;line-height:1.15}.prose .about-heading h1{margin:0}.prose h2{letter-spacing:-.02em;margin:52px 0 18px;font-size:28px;font-weight:550;line-height:1.3}.prose h3{margin:32px 0 14px;font-size:22px;font-weight:550;line-height:1.4}.prose p{margin:0 0 24px}.prose .intro{font-size:25px;font-weight:550;line-height:1.5}.prose .dek{color:var(--muted);font-size:21px;line-height:1.7}.prose .eyebrow{font:13px/1.8 var(--mono);color:var(--muted);margin-bottom:20px}.prose .article-date{font:12px/1.8 var(--mono);color:var(--muted);text-align:right;margin:0 0 12px}.prose>header{border-bottom:1px solid var(--line);padding-bottom:20px}.prose>nav{font:13px/1.8 var(--mono);flex-wrap:wrap;gap:8px 20px;margin:28px 0 36px;display:flex}.prose section{scroll-margin-top:25px}.prose a{color:var(--link);overflow-wrap:anywhere}.prose .about-name-story{color:var(--accent);scroll-margin-top:24px}.prose .accent,.prose .friend-link{color:var(--accent)}.prose .about-story-link{color:var(--accent);font:12px/1.8 var(--mono);white-space:nowrap}.prose ul,.prose ol{margin:0 0 24px;padding-left:1.4em}.prose li{margin:9px 0}.prose code{font:.86em/1.6 var(--mono);overflow-wrap:anywhere}.prose :not(pre)>code{background:var(--soft);border-radius:4px;padding:.12em .25em}.prose pre{background:var(--soft);border:1px solid var(--line);tab-size:4;border-radius:8px;max-width:100%;margin:26px 0;padding:20px;font-size:14px;line-height:1.7;overflow-x:auto}.prose pre code{overflow-wrap:normal;font-size:1em}.table-wrap{max-width:100%;margin:28px 0;overflow-x:auto}.prose table{border-collapse:collapse;text-align:left;width:100%;min-width:510px;font-size:15px;line-height:1.65}.prose caption{text-align:left;color:var(--muted);margin-bottom:14px;font-size:14px}.prose th,.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 16px 14px 0}.prose th{font-weight:600}.prose blockquote{border-left:2px solid var(--line);color:var(--muted);margin:28px 0;padding:5px 0 5px 24px}.prose blockquote p:last-child{margin-bottom:0}.prose .sources{font-size:15px;line-height:1.8}.prose .small{font:13px/1.8 var(--mono);color:var(--muted)}.prose .personal-note{font:12px/1.8 var(--mono);color:var(--muted);margin:34px 0 0}.result-figure{border:1px solid var(--line);background:var(--soft);border-radius:12px;margin:32px 0;padding:12px;box-shadow:0 8px 24px #00000016}.result-figure a{border-radius:6px;line-height:0;display:block;overflow:hidden}.result-figure img{width:100%;height:auto;display:block}.result-figure figcaption{color:var(--muted);font:12px/1.75 var(--mono);padding:13px 4px 2px}.network-figure{width:100%;margin:32px auto;scroll-margin-top:24px}.network-enlarge{border:1px solid var(--line);cursor:zoom-in;border-radius:12px;padding:12px 0;line-height:0;display:block}.network-enlarge:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.network-art{width:100%;height:auto;margin-inline:auto;display:block}.network-figure figcaption{color:var(--muted);font:12px/1.75 var(--mono);margin:13px 4px 0}.study-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0;display:grid}.study-grid .study{border:1px solid var(--line);border-radius:10px;margin:0;padding:16px}.study-grid .drawing svg{width:100%;height:auto;display:block}.study-grid figcaption{color:var(--muted);font-size:14px;line-height:1.7}.study-grid figcaption strong{color:var(--ink);margin:10px 0 6px;font-weight:550;display:block}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0;display:grid}.photo-grid figure{min-width:0;margin:0}.photo-grid a{cursor:zoom-in;border-radius:8px;line-height:0;display:block;overflow:hidden}.photo-grid img{aspect-ratio:4/3;width:100%;height:auto;display:block}.photo-grid figcaption{font:12px/1.75 var(--mono);color:var(--muted);padding:9px 0 0}.video-embed{aspect-ratio:16/9;border:0;border-radius:8px;width:100%;height:auto;display:block}.gallery-page,.plain-page{flex:1;width:min(1040px,100% - 64px);margin:32px auto 0}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;width:min(1040px,100% - 64px);margin:67px auto 0;padding:24px 0 38px;display:flex}.site-credit{color:var(--credit);font:11px/1.8 var(--mono);white-space:nowrap;text-decoration:none}.site-credit:hover{color:var(--credit);text-decoration:underline}@media (width<=780px){body{font-size:18px}.site-header{gap:12px;width:calc(100% - 44px)}.site-nav{justify-self:start;gap:8px 16px;font-size:12px}.home{width:calc(100% - 44px)}.home-intro{margin-top:22px;font-size:19px}.published{margin-top:35px}.published-row,.published-row.has-artwork{grid-template-columns:minmax(0,1fr) 94px;gap:7px 15px;padding:23px 0}.published-row time{grid-column:1/-1;padding:0;font-size:11px}.published-copy{display:contents}.published-title{grid-area:2/1;font-size:21px}.published-meta{grid-area:3/1/auto/-1}.published-description{grid-area:4/1/auto/-1;margin-top:6px;font-size:16px;line-height:1.8}.article-sketch{grid-area:2/2;align-self:start;margin-top:7px}.published-row:not(.has-artwork) .published-title{grid-column:1/-1}.about-layout{width:calc(100% - 44px);padding:24px 0 25px}.about-heading{gap:16px}.about-heading .about-avatar{width:64px;height:64px}.article-layout{flex-direction:column;gap:30px;padding:40px 22px 25px;display:flex}.article-illustration{width:126px;margin:0}.article-layout article{width:100%}.prose{font-size:18px}.prose h1{font-size:36px}.prose h2{font-size:25px}.prose .dek{font-size:20px}.prose pre{padding:15px;font-size:13px}.result-figure{border-radius:10px;padding:8px}.study-grid{grid-template-columns:minmax(0,1fr)}.gallery-page,.plain-page{width:calc(100% - 44px);margin-top:24px}.site-footer{width:calc(100% - 44px);margin-top:48px;padding:24px 0 30px}.site-credit{font-size:10px}}@media (width<=440px){.photo-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=360px){.site-header{gap:8px}.site-nav{gap:7px 12px;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.article-illustration{display:none}.article-layout{max-width:none;padding:0;display:block}.prose{font-size:11pt}.prose pre{white-space:pre-wrap}.prose h2,.prose h3{break-after:avoid}body{color:#000;background:#fff}}
