@font-face{font-family:Chakra Petch;src:url(/fonts/chakra-petch-bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:dark;--page:#090b11;--text:#bbc5d8;--heading:#e9efff;--line:#293145;--signal:#8aa6ff;--pink:#e575b9;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--display:"Chakra Petch", sans-serif;background:var(--page);color:var(--text);font-family:var(--mono);font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body,h1,h2,p{margin:0}::selection{background:var(--signal);color:var(--page)}a{color:var(--signal);text-decoration:none}a:focus-visible{outline:2px solid var(--pink);outline-offset:5px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--signal);color:var(--page);padding:14px;position:absolute;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.homepage{width:min(100% - 48px,760px);margin:clamp(32px,8vw,80px) auto 48px}.identity{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px;padding:26px 0 32px;display:flex;position:relative}.identity:before{content:"";background:var(--pink);width:36px;height:2px;position:absolute;top:-1px;left:0}h1{font:700 clamp(2.75rem, 8vw, 4rem)/1 var(--display);letter-spacing:-.06em;color:var(--heading)}.cursor{color:var(--signal)}.monogram{color:var(--signal);font:700 24px/1 var(--display);letter-spacing:-.05em}.monogram span{color:var(--pink);margin-left:3px}.identity-roles{color:var(--text);flex-wrap:wrap;flex-basis:100%;gap:8px 12px;font-size:12px;line-height:1.8;display:flex}.identity-roles span{white-space:nowrap}.identity-roles span+span:before{content:"/";color:var(--signal);margin-right:12px}.site-nav{flex-wrap:wrap;gap:24px;margin-bottom:16px;font-size:12px;display:flex}.site-nav a{min-height:44px;color:var(--text);align-items:center;display:inline-flex}.site-nav a[aria-current=page]{color:var(--heading);text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:6px}.site-nav a:hover{color:var(--signal)}.bio{overflow-wrap:anywhere;font-size:16px;line-height:1.9}.bio p+p{margin-top:20px}.home-bio{max-width:65ch;font-size:14px}.intro-links{flex-wrap:wrap;align-items:center;gap:8px 28px;margin-top:8px;display:flex}.intro-links a{align-items:center;gap:8px;min-height:44px;font-size:12px;display:inline-flex}.intro-links a:hover{color:var(--heading);text-underline-offset:4px;text-decoration:underline}.x-link{white-space:nowrap}.x-link svg{flex-shrink:0}.notes{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-bottom:18px;display:flex}.section-heading h2{color:var(--heading);font:700 21px/1.4 var(--display)}.section-heading h2 span{color:var(--signal);font:400 14px var(--mono);margin-right:6px}.interests{border-top:1px solid var(--line);margin-top:36px;padding-top:22px}.interests h2{color:var(--text);margin-bottom:10px;font-size:11px;font-weight:400;line-height:1.9}.interests h2 span{color:var(--signal)}.interests ul{margin:0;padding:0;font-size:12px;line-height:2;list-style:none}.interests li{overflow-wrap:anywhere;max-width:100%;display:inline-block}.interest-separator{color:var(--signal);margin-inline:10px}.empty-state{color:#9ba8c0;padding-top:3px;font-size:14px;line-height:1.9}@media (width<=40rem){.homepage{width:calc(100% - 40px)}.identity{margin-bottom:28px;padding:24px 0 28px}.bio{line-height:1.85}.interests{margin-top:28px;padding-top:20px}}@media (width<=22rem){.homepage{width:calc(100% - 32px)}}@media (width<=26rem){.identity-roles{flex-direction:column;gap:4px}.identity-roles span+span:before{content:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.notes-index-link{align-items:center;gap:12px;min-height:44px;font-size:12px;display:inline-flex}.notes-index-link:hover,.note-footer a:hover{color:var(--heading)}.note-footer a{align-items:center;min-height:44px;display:inline-flex}.note-list{margin:0;padding:0;list-style:none}.note-list li+li{border-top:1px solid var(--line)}.note-list a{overflow-wrap:anywhere;min-height:44px;padding:18px 0;display:block}.note-list li:first-child a{padding-top:3px}.note-list time,.note-header time{color:#9ba8c0;font-size:11px;line-height:1.7}.note-list .note-list-title{font-family:var(--mono);color:var(--signal);margin:7px 0 0;font-size:16px;font-weight:400;line-height:1.7}.note-list-title span{white-space:nowrap;font-size:12px}.note-list a:hover .note-list-title{color:var(--heading);text-underline-offset:4px;text-decoration:underline}.note-list p{color:var(--text);margin-top:8px;font-size:14px;line-height:1.8}.note-article{min-width:0}.note-header{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;padding:24px 0 30px}.note-header h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:14px;font-size:clamp(1.75rem,5vw,2.75rem);line-height:1.2}.note-header p{overflow-wrap:anywhere;margin-top:18px;font-size:16px;line-height:1.85}.note-prose{overflow-wrap:anywhere;font-size:16px;line-height:1.9}.note-prose>*{margin-block:0 20px}.note-prose :is(h1,h2,h3,h4,h5,h6){color:var(--heading);font-family:var(--display);letter-spacing:-.02em;margin-top:36px;scroll-margin-top:24px;font-weight:700;line-height:1.4}.note-prose :is(h1,h2){font-size:24px}.note-prose :is(h3,h4,h5,h6){font-size:19px}.note-prose a{text-underline-offset:3px;text-decoration:underline}.note-prose a:hover{color:var(--heading)}.note-prose :is(ul,ol){padding-left:24px}.note-prose li+li{margin-top:6px}.note-prose li>p{margin-block:8px}.note-prose blockquote{border-left:2px solid var(--signal);margin-inline:0;padding:2px 0 2px 20px}.note-prose blockquote>*+*{margin-top:16px}.note-prose code{font-family:var(--mono);font-size:.9em}.note-prose :not(pre)>code{color:var(--heading);background:#8aa6ff12;padding:2px 5px}.note-prose pre{border:1px solid var(--line);max-width:100%;padding:18px;line-height:1.7;overflow-x:auto}.note-prose pre code{overflow-wrap:normal;white-space:pre}.note-prose img{max-width:100%;height:auto;margin-inline:auto;display:block}.note-prose table{border-collapse:collapse;max-width:100%;font-size:13px;display:block;overflow-x:auto}.note-prose :is(th,td){border:1px solid var(--line);text-align:left;padding:10px 14px}.note-prose th{color:var(--heading)}.note-prose hr{border:0;border-top:1px solid var(--line);margin-block:30px}.note-footer{border-top:1px solid var(--line);margin-top:36px;padding-top:16px;font-size:12px}
