@font-face{font-family:Public Sans;src:url(/fonts/PublicSans-Variable-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Public Sans;src:url(/fonts/PublicSans-Italic-Variable-latin.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:var(--font-sans);font-size:17px;line-height:1.65;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100svh;max-width:640px;margin:0 auto;padding:5rem 1.5rem;display:flex;flex-direction:column}main{flex:1;position:relative;z-index:1}.sky{display:none}@media(prefers-color-scheme:dark){.sky{display:block;position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;image-rendering:pixelated;opacity:0;transition:opacity 1.4s ease}body.sky-on .sky{opacity:1}.star{position:absolute;width:2px;height:2px;background:var(--star);animation:twinkle var(--twinkle-duration, 4s) ease-in-out infinite;animation-delay:var(--twinkle-delay, 0s);animation-play-state:paused}.star.dim{animation-name:twinkle-dim}.star.faint{animation-name:twinkle-faint}.star.bright{width:3px;height:3px}body.sky-on .star{animation-play-state:running}.streak{position:absolute;width:3px;height:3px;background:var(--star);box-shadow:var(--t1x, -6px) var(--t1y, 0) 0 0 color-mix(in srgb,var(--star) 70%,transparent),var(--t2x, -12px) var(--t2y, 0) 0 0 color-mix(in srgb,var(--star) 40%,transparent),var(--t3x, -18px) var(--t3y, 0) 0 0 color-mix(in srgb,var(--star) 18%,transparent);opacity:0;animation:shoot var(--streak-duration, .9s) linear forwards}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.5}}@keyframes twinkle-dim{0%,to{opacity:.45}50%{opacity:.2}}@keyframes twinkle-faint{0%,to{opacity:.22}50%{opacity:.08}}@keyframes shoot{0%{transform:translate(0);opacity:0}15%{opacity:1}80%{opacity:1}to{transform:translate(var(--tx, 100px),var(--ty, 60px));opacity:0}}h1{margin:0 0 1.5rem;font-size:1rem;font-weight:600;letter-spacing:-.01em}.lead{margin:0 0 .75rem}.lead em{font-style:italic}.lead.placeholder{color:var(--muted-strong)}.meta{margin:0 0 4rem;color:var(--muted-strong)}section{margin-bottom:3.5rem}section:last-of-type{margin-bottom:0}h2{margin:0 0 1.1rem;font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}ul{list-style:none;margin:0;padding:0}li{margin-bottom:1.15rem;color:var(--muted-strong)}li:last-child{margin-bottom:0}li a{color:var(--fg)}.post-meta{font-family:var(--font-mono);color:var(--muted-strong);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;margin-top:.25rem}.post-dek{color:var(--muted-strong);margin:.15rem 0 0}.empty,.note{color:var(--muted)}a{color:var(--link-rest);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color var(--duration) var(--ease),color var(--duration) var(--ease)}@media(hover:hover){a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}}a:focus-visible{outline:2px solid var(--link-hover);outline-offset:3px;border-radius:1px;text-decoration-color:var(--link-hover)}body.kbd-nav a.nav-here{position:relative;color:var(--link-hover);text-decoration-color:var(--link-hover)}body.kbd-nav a.nav-here:focus-visible{outline:none}body.kbd-nav a.nav-here:before{content:">";position:absolute;left:-1.15em;top:50%;transform:translateY(-50%);line-height:1;font-family:var(--font-mono);font-size:.9em;color:var(--link-hover);pointer-events:none;animation:kbd-blink 1.06s steps(1,end) infinite}@keyframes kbd-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}footer{margin-top:5rem;display:flex;gap:1.5rem;flex-wrap:wrap;position:relative;z-index:1}footer a{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-strong);text-decoration-color:var(--underline-soft)}@media(hover:hover){footer a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}}@media(max-width:600px){body{padding:4rem 1.5rem}.meta{margin-bottom:3rem}section{margin-bottom:3rem}h2{margin-bottom:1rem}footer{margin-top:4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}.streak{display:none}body.kbd-nav a.nav-here:before{animation:none;opacity:1}}
