:root{color-scheme:dark;--black:#0b0b0c;--line:rgba(255, 255, 255, 0.1);--text:#f5f5f4;--secondary:#98989d;--tertiary:#6e6e73;--fluoro:#d8e422;--red:#ff453a;--surface:rgba(255, 255, 255, 0.04);--measure:38rem;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
          system-ui, "Helvetica Neue", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", "Menlo", "Cascadia Code", monospace;font-family:var(--sans);font-synthesis:none}@media(color-gamut:p3){:root{--fluoro:color(display-p3 0.87 0.95 0)}}@media(color-gamut:rec2020){:root{--fluoro:color(rec2020 0.83 0.97 0)}}*{box-sizing:border-box}html{background:var(--black);scroll-behavior:smooth}body{min-width:18rem;margin:0;color:var(--text);background:var(--black);font-size:1.0625rem;line-height:1.55;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--text);text-decoration-color:rgba(255,255,255,.32);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-color:var(--text)}a:focus-visible{outline:.14rem solid var(--text);outline-offset:.2rem}.skip-link{position:fixed;z-index:10;top:.75rem;left:.75rem;padding:.55rem .8rem;color:var(--black);background:var(--text);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-shell{display:grid;grid-template-columns:11rem minmax(0,var(--measure));gap:3.5rem;max-width:56rem;margin:0 auto;padding:5.5rem 1.5rem 4rem}.rail{font-size:.95rem}.mark{display:inline-block;margin-bottom:2.4rem}.mark svg{display:block;fill:var(--fluoro);transition:fill .18s}.mark:hover svg{fill:var(--text)}.rail nav{display:flex;flex-direction:column;gap:.55rem}.rail nav a{position:relative;width:fit-content;color:var(--secondary);letter-spacing:-.008em;text-decoration:none;transition:color .15s}.rail nav a:hover{color:var(--text)}.rail nav a[aria-current=page]{color:var(--text)}.rail nav a[aria-current=page]::before{content:"";position:absolute;left:-.95rem;top:.52em;width:5px;height:5px;border-radius:50%;background:var(--text)}main{min-width:0}.wordmark{margin:0 0 2.8rem;font-size:.95rem;font-weight:640;letter-spacing:.18em;text-transform:uppercase}.wordmark .dev{color:var(--secondary)}.intro p{margin:0 0 1.15em;max-width:34rem}.intro p:last-child{margin-bottom:0}.section-label{margin:0 0 .4rem;color:var(--tertiary);font-size:.78rem;font-weight:590;letter-spacing:.14em;text-transform:uppercase}.home-writing{margin-top:3.6rem}.post-list{padding:0;margin:0;list-style:none}.post-list li{border-bottom:1px solid var(--line)}.post-list li>a{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:.95rem 0;text-decoration:none}.post-list .title{font-weight:590;letter-spacing:-.014em}.post-list li>a:hover .title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.post-list time{flex:none;color:var(--tertiary);font-size:.88rem;letter-spacing:-.006em}.post-list .empty{padding:.95rem 0;color:var(--secondary)}.draft-flag{margin-left:.6rem;color:var(--secondary);font-family:var(--mono);font-size:.66rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.more-link{display:inline-block;margin-top:1.1rem;color:var(--secondary);font-size:.92rem;text-decoration:none}.more-link:hover{color:var(--text)}.post-header{margin-bottom:2.6rem}.post-header .meta{margin:0 0 .7rem;color:var(--tertiary);font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.post-header h1{margin:0 0 .5rem;font-size:clamp(1.7rem,4.5vw,2.2rem);font-weight:660;line-height:1.15;letter-spacing:-.022em}.post-header .lede{margin:0;color:var(--secondary);font-size:1.1rem;line-height:1.45;letter-spacing:-.014em}h2,h3{letter-spacing:-.018em;line-height:1.2}.prose h2{margin:2.4rem 0 .7rem;font-size:1.3rem;font-weight:620}.prose h3{margin:1.9rem 0 .6rem;font-size:1.1rem;font-weight:620}.prose p,.prose li{color:#d6d6d3}.prose li{margin:.3em 0}.prose strong{color:var(--text)}.prose blockquote{margin-left:0;padding-left:1.1rem;border-left:2px solid var(--line);color:var(--secondary)}.prose code{font-family:var(--mono);font-size:.88em}.prose pre{overflow-x:auto;padding:1rem;border:1px solid var(--line);border-radius:.55rem;background:var(--surface);line-height:1.5}.prose pre code{font-size:.82rem}.prose img{max-width:100%;height:auto}.prose hr{border:0;height:1px;background:var(--line);margin:2.4rem 0}.page-heading{margin-bottom:2rem}.page-heading h1{margin:0 0 .4rem;font-size:clamp(1.6rem,4vw,2rem);font-weight:660;letter-spacing:-.022em;line-height:1.15}.page-heading .lede{margin:0;color:var(--secondary);font-size:1.05rem}.button-link{display:inline-block;padding:.5rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.9rem;font-weight:590;text-decoration:none}.button-link:hover{border-color:var(--secondary)}.site-footer{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:5rem;color:var(--tertiary);font-size:.88rem;letter-spacing:-.006em}.site-footer nav{display:flex;gap:1.4rem}.site-footer a{color:var(--tertiary);text-decoration:none}.site-footer a:hover{color:var(--text)}.comments{margin-top:4.5rem;padding-top:2rem;border-top:1px solid var(--line)}.comments-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem}.comments-heading h2{margin:0;font-size:1.15rem;font-weight:620;letter-spacing:-.018em}.comments-status{color:var(--secondary);font-size:.95rem}.comment-thread,.comment-children{padding:0;list-style:none}.comment-thread{margin:1.8rem 0 0}.comment-children{margin:0 0 0 1.1rem;padding-left:1rem;border-left:1px solid var(--line)}.comment{margin-top:1.4rem}.comment-body{min-width:0}.comment-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .7rem}.comment-author{font-weight:590;text-decoration:none}.comment-handle,.comment-time,.comment-footer,.comment-unavailable{color:var(--tertiary);font-size:.82rem}.comment-text{margin:.35rem 0;color:#d6d6d3;white-space:pre-wrap;overflow-wrap:anywhere}.comment-footer{margin:0}@media(max-width:40rem){.site-shell{grid-template-columns:1fr;gap:2.2rem;padding-top:3rem}.mark{margin-bottom:1.2rem}.rail nav{flex-direction:row;gap:1.4rem}.rail nav a[aria-current=page]::before{left:-.8rem}.comments-heading{align-items:flex-start;flex-direction:column;gap:.6rem}.comment-children{margin-left:.4rem;padding-left:.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mark svg,.rail nav a,.post-list .title{transition:none}}@media print{:root{color-scheme:light;--black:white;--text:black;--secondary:#444;--tertiary:#666}body{background:#fff;font-size:11pt}.site-shell{display:block;padding:0}.rail,.site-footer,.comments{display:none}.prose p,.prose li,.comment-text{color:#000}}@media(dynamic-range:high){.mark{width:40px;height:40px;background:url(/hdr-fluoro.jpg)50%/cover;-webkit-mask:url(/fox-mask.svg)center/contain no-repeat;mask:url(/fox-mask.svg)center/contain no-repeat;transition:background-color .18s}.mark svg{visibility:hidden}.mark:hover{background:var(--text)}}