@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(/fonts/martian-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(/fonts/martian-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #0a0a0b;--fg: #d8d6d1;--dim: #8a8781;--line: #232326;--accent: #d38fa6;--maxw: 40rem;--mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;color:var(--fg);font-family:var(--mono);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}main{max-width:var(--maxw);margin-inline:auto;padding:2.5rem 1.25rem 6rem}h1,h2,h3{line-height:1.25;font-weight:700;letter-spacing:-.02em}h1{font-size:1.5rem}h2{margin-top:3.5rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}h2 a{text-decoration:none}a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto}code,pre{font-family:var(--mono);font-size:.9em}pre{padding:1rem;border:1px solid var(--line);overflow-x:auto}blockquote{margin-inline:0;padding-left:1rem;border-left:2px solid var(--line);color:var(--dim)}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}header.bar{max-width:var(--maxw);margin-inline:auto;padding:1.25rem 1.25rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.8rem}header.bar nav a{text-decoration:none;color:var(--dim)}header.bar nav a:hover{color:var(--accent)}.lang{display:flex;gap:.75rem;list-style:none;margin:0;padding:0}.lang a{text-decoration:none;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.lang a:hover{color:var(--accent)}.lang a[aria-current=true]{color:var(--fg)}.rows{list-style:none;margin:0;padding:0}.rows li{display:grid;grid-template-columns:7.5rem 1fr;column-gap:1.25rem;padding-block:.7rem;border-top:1px solid var(--line)}.rows li:last-child{border-bottom:1px solid var(--line)}.rows time{color:var(--dim);font-size:.85em;padding-top:.15em}.rows .meta{color:var(--dim);font-size:.85em}@media(max-width:26rem){.rows li{grid-template-columns:1fr;row-gap:.1rem}}.rows.tools li{grid-template-columns:1fr}.tag{display:inline-block;padding:0 .6em;border:1px solid var(--line);letter-spacing:.06em}.rows .tag{margin-left:.6em;font-size:.9em}.post-tags{margin:.5rem 0 0}.post-tags .tag{margin-right:.5em;color:var(--dim);font-size:.8em;text-decoration:none}.post-tags .tag:hover{color:var(--accent);border-color:var(--accent)}a.ext{margin-left:.35em;text-decoration:none;color:var(--dim)}a.ext:hover{color:var(--accent)}.filters{display:grid;gap:.5rem;margin-top:1.5rem}.filter-group{display:grid;grid-template-columns:5rem 1fr;align-items:baseline;gap:.4rem}.filter-group .chips{display:flex;flex-wrap:wrap;gap:.4rem}.filter-label{color:var(--dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em}.filter-group button{background:transparent;border:1px solid var(--line);border-radius:0;color:var(--dim);font-family:var(--mono);font-size:.75rem;padding:.2rem .7rem;cursor:pointer}.filter-group button:hover{color:var(--fg);border-color:var(--dim)}.filter-group button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.logo{display:block;width:min(20rem,70%);margin:3.5rem auto 0}.logo path{fill:none;stroke:var(--fg);stroke-width:4px;stroke-linejoin:round}@media(prefers-reduced-motion:no-preference){.logo path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.6s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}}.masthead{text-align:center;margin:1.5rem 0 3rem}.masthead h1{font-size:1.05rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}form.subscribe{display:grid;gap:.75rem;max-width:26rem;margin-inline:auto}form.subscribe input[type=email],form.subscribe input[type=text]{width:100%;padding:.8rem 1rem;background:transparent;border:1px solid var(--line);border-radius:0;color:var(--fg);font-family:var(--mono);font-size:.9rem}form.subscribe input::placeholder{color:var(--dim)}form.subscribe input:focus{outline:none;border-color:var(--dim)}form.subscribe input[type=submit]{width:100%;padding:.85rem 1rem;background:var(--fg);color:var(--bg);border:1px solid var(--fg);border-radius:0;font-family:var(--mono);font-size:.9rem;font-weight:600;cursor:pointer}form.subscribe input[type=submit]:hover{background:var(--accent);border-color:var(--accent)}.rsvp{margin:1.75rem 0 0}.rsvp a{display:inline-block;padding:.7rem 1.4rem;background:var(--fg);border:1px solid var(--fg);color:var(--bg);font-size:.9rem;font-weight:600;text-decoration:none}.rsvp a:hover{background:var(--accent);border-color:var(--accent)}.rsvp p{margin:.6rem 0 0;color:var(--dim);font-size:.8em}dl.facts{margin:1.5rem 0 0;border-top:1px solid var(--line)}dl.facts>div,dl.facts{font-size:.9em}dl.facts dt{float:left;clear:left;width:7.5rem;margin:0;padding-block:.45rem;color:var(--dim);font-size:.85em;text-transform:uppercase;letter-spacing:.08em}dl.facts dd{margin:0 0 0 8.75rem;padding-block:.45rem;border-bottom:1px solid var(--line)}@media(max-width:26rem){dl.facts dt{float:none;width:auto;padding-bottom:0}dl.facts dd{margin-left:0;padding-top:.1rem}}article.post header time,.post-meta{color:var(--dim);font-size:.85em}article.post h1{margin-bottom:.25rem}article.post .body h1,article.post .body h2{margin-top:2rem;padding-top:0;border:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--fg)}
