@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=DM+Mono:wght@300;400&family=Inter+Tight:wght@300;400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;1,6..72,300;1,6..72,400&display=swap";:root{--paper: #ffffff;--paper-raised: #fafafa;--ink: #0a0a0a;--ink-dim: #444444;--ink-faint: #8a8a8a;--hairline: #e7e7e7;--hairline-strong: #d4d4d4;--signal: #0a0a0a;--signal-hover: #444444;--font-display: "Archivo", sans-serif;--font-ui: "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Newsreader", Georgia, serif;--font-meta: "DM Mono", "SF Mono", monospace;--font-mono: "DM Mono", "SF Mono", monospace;--measure: 75ch;--site-max: 1120px;--pad: clamp(1.25rem, 4vw, 3rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;color-scheme:light}body.site{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:clamp(15px,.4vw + 14px,17px);line-height:1.65;min-height:100vh;position:relative}::selection{background:var(--signal);color:var(--paper)}.site a{color:inherit;text-decoration:none}.site ::-webkit-scrollbar{width:10px;height:10px}.site ::-webkit-scrollbar-track{background:var(--paper)}.site ::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:0}.site ::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.shell{max-width:var(--site-max);margin:0 auto;padding:0 var(--pad)}.mono-label{font-family:var(--font-meta);font-weight:400;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.mono-label .tick{color:var(--signal)}.display{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.08}.display em{font-style:italic;color:inherit}.site-nav{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;row-gap:.75rem;padding:1.5rem 0 1.1rem;border-bottom:2px solid var(--ink);position:relative}.site-nav:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--hairline-strong)}.site-nav .wordmark{font-family:var(--font-display);font-weight:800;font-size:.85rem;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);white-space:nowrap}.site-nav .links{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.85rem,3vw,2.25rem)}.site-nav .links a{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);transition:color .15s ease;position:relative}.site-nav .links a:hover,.site-nav .links a.active{color:var(--ink)}.site-nav .links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--signal)}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.22,1,.36,1) forwards}.reveal-1{animation-delay:.05s}.reveal-2{animation-delay:.15s}.reveal-3{animation-delay:.25s}.reveal-4{animation-delay:.35s}.reveal-5{animation-delay:.45s}}@keyframes rise{to{opacity:1;transform:none}}.section{padding:clamp(3rem,8vw,5.5rem) 0 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 0 .9rem;border-top:2px solid var(--ink);border-bottom:1px solid var(--hairline)}@media(max-width:540px){.section-head>.mono-label+.mono-label{display:none}}.site-footer{margin-top:clamp(4rem,10vw,7rem);border-top:1px solid var(--hairline);padding:2rem 0 3rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem}.footer-grid h4{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:400;margin-bottom:.8rem}.footer-grid ul{list-style:none}.footer-grid li{margin-bottom:.45rem}.footer-grid a,.footer-grid span{font-size:.85rem;color:var(--ink-dim);transition:color .15s ease}.footer-grid a:hover{color:var(--signal-hover)}.footer-colophon{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--hairline);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--ink-faint)}.footer-colophon a{color:var(--ink-dim)}.footer-colophon a:hover{color:var(--signal-hover)}.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--hairline-strong);padding:.7rem 1.1rem;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.btn:hover{border-color:var(--signal);color:var(--signal-hover);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--hairline-strong)}.btn.solid{background:var(--signal);border-color:var(--signal);color:var(--paper)}.btn.solid:hover{background:var(--signal-hover);border-color:var(--signal-hover);color:var(--paper);box-shadow:3px 3px 0 var(--hairline-strong)}.arrow-link{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);transition:color .15s ease}.arrow-link:after{content:" →";color:var(--signal)}.arrow-link:hover{color:var(--ink)}.site-prose{max-width:var(--measure);font-size:1.02rem;line-height:1.8;color:var(--ink-dim)}.site-prose p+p{margin-top:1.1em}.site-prose strong{color:var(--ink);font-weight:600}.site-prose a{color:var(--ink);border-bottom:1px solid var(--signal);transition:color .15s ease}.site-prose a:hover{color:var(--signal-hover)}.site-prose h2{font-family:var(--font-display);font-weight:600;font-size:1.55rem;letter-spacing:-.01em;color:var(--ink);margin:2.4em 0 .7em}.site-prose h3{font-family:var(--font-ui);font-weight:650;font-size:1.05rem;color:var(--ink);margin:2em 0 .6em}.site-prose ul,.site-prose ol{margin:1.1em 0 1.1em 1.2em}.site-prose li{margin-bottom:.4em}.site-prose li::marker{color:var(--signal)}.site-prose code{font-family:var(--font-mono);font-size:.85em;background:var(--paper-raised);border:1px solid var(--hairline);padding:.1em .35em}.site-prose pre{background:var(--paper-raised);border:1px solid var(--hairline);padding:1.1rem 1.25rem;overflow-x:auto;margin:1.4em 0}.site-prose pre code{background:none;border:none;padding:0;font-size:.8rem;line-height:1.6}.site-prose blockquote{border-left:2px solid var(--signal);padding-left:1.2rem;margin:1.4em 0;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--ink)}
