:root{--paper: #fbfbf9;--ink: #16181d;--cobalt: #2438e8;--lilac: #e9e7fb;--muted: #626774;--rule: #d9d9d2;--font-display: "Archivo", system-ui, sans-serif;--font-body: "Source Serif 4", Georgia, serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--w: min(72rem, calc(100vw - 3rem) )}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{margin:0;font-family:var(--font-body);font-size:1.125rem;line-height:1.65;-webkit-font-smoothing:antialiased}.wrap{width:var(--w);margin-inline:auto}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:2px}.tc{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;color:var(--cobalt);text-transform:uppercase}.play{display:inline-block;width:0;height:0;border-top:.34em solid transparent;border-bottom:.34em solid transparent;border-left:.55em solid var(--cobalt);margin-right:.45em;transform:translateY(.02em)}.site-head{display:flex;align-items:baseline;justify-content:space-between;padding-block:1.4rem;border-bottom:1px solid var(--ink)}.site-head .logo{font-family:var(--font-display);font-weight:900;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none}.site-head nav a{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;margin-left:1.5rem}.site-head nav a:hover{color:var(--cobalt)}.hero{padding-block:4.5rem 3.5rem}.hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.6rem,7.5vw,5.6rem);line-height:.98;letter-spacing:-.03em;margin:.6rem 0 1.1rem;max-width:18ch}.hero h1 a{text-decoration:none}.hero h1 a:hover{color:var(--cobalt)}.hero p{max-width:52ch;margin:0;color:var(--muted);font-size:1.2rem}.index{border-top:1px solid var(--ink);padding:0;margin:0 0 5rem;list-style:none}.row{border-bottom:1px solid var(--rule)}.row a{display:grid;grid-template-columns:8.5rem 1fr;gap:1.5rem;align-items:baseline;padding:1.5rem .5rem;text-decoration:none;transition:background .15s ease}.row a:hover{background:var(--lilac)}.row h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:-.02em;line-height:1.1;margin:0 0 .35rem}.row a:hover h2{color:var(--cobalt)}.row p{margin:0;color:var(--muted);font-size:1rem;max-width:62ch}.post-head{padding-block:4rem 2rem;border-bottom:1px solid var(--ink)}.post-head h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,6vw,4.2rem);line-height:1;letter-spacing:-.03em;margin:.6rem 0 1rem;max-width:20ch}.post-head .lede{color:var(--muted);font-size:1.25rem;max-width:55ch;margin:0}.prose{max-width:42rem;padding-block:2.5rem 4rem}.prose h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;font-size:1.6rem;margin-top:2.5em}.prose img,.prose video{max-width:100%;height:auto}.prose blockquote{margin:2rem 0;padding-left:1.25rem;border-left:3px solid var(--cobalt);font-style:italic;color:var(--muted)}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--lilac);padding:.1em .35em;border-radius:3px}.prose pre{background:var(--ink);color:var(--paper);padding:1.25rem;overflow-x:auto;border-radius:6px}.prose pre code{background:none;padding:0;color:inherit}.stream{position:relative;aspect-ratio:16 / 9;background:var(--ink);margin:2.5rem 0;border-radius:6px;overflow:hidden}.stream iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.stream-note{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);margin-top:-1.8rem;margin-bottom:2.5rem}.comments{max-width:42rem;padding-block:1rem 5rem;border-top:1px solid var(--ink)}.comments .tc{display:block;margin-block:1.5rem}.site-foot{border-top:1px solid var(--ink);padding-block:2rem 3rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.site-foot a{text-decoration:none}.site-foot a:hover{color:var(--cobalt)}@media(max-width:640px){.row a{grid-template-columns:1fr;gap:.4rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.lang-active{color:var(--cobalt);font-weight:700}
