:root{--base3: #fdf6e3;--base2: #eee8d5;--base1: #93a1a1;--base00: #657b83;--base01: #586e75;--blue: #268bd2;--orange: #cb4b16;--green: #859900;--hover: #f7efdd;--code-bg: #eee8d5;}@media (prefers-color-scheme: dark){:root{--base3: #002b36;--base2: #073642;--base1: #586e75;--base00: #839496;--base01: #93a1a1;--hover: #0a3947}}@font-face{font-family:"JetBrains Mono";src:url("/fonts/JetBrainsMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url("/fonts/JetBrainsMono-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url("/fonts/JetBrainsMono-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url("/fonts/JetBrainsMono-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}*{box-sizing:border-box}::selection{background:var(--base2)}html{background:var(--base3)}body{margin:0;background:var(--base3);color:var(--base00);font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.7}a{color:var(--blue);text-decoration:none}a:hover{color:var(--orange)}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.prompt{color:var(--green)}.column{max-width:620px;margin:0 auto;padding:72px 24px 96px;display:flex;flex-direction:column;gap:40px}.header{display:flex;align-items:center;gap:18px}.avatar{width:56px;height:56px;border-radius:3px;border:1px solid var(--base2);filter:grayscale(0.15);object-fit:cover}.name{margin:0;font-weight:700;letter-spacing:-.01em;color:var(--base01);font-size:15px}.tagline{margin:4px 0 0;font-size:12.5px;color:var(--base1)}.bio{display:flex;flex-direction:column;gap:16px}.bio p{margin:0;text-wrap:pretty}.bio p.muted{color:var(--base1)}.bio p:first-child{color:var(--base00)}.tags-row{display:flex;flex-wrap:wrap;gap:6px}.tag{border:1px solid var(--base2);font-size:11.5px;padding:2px 7px;border-radius:2px;color:var(--base1)}a.tag:hover{color:var(--orange);border-color:var(--base2)}.links{display:flex;flex-wrap:wrap;gap:4px 20px}.links a{text-transform:lowercase}.writing{border-top:1px solid var(--base2);padding-top:28px;display:flex;flex-direction:column;gap:16px}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--base1);margin:0}.post-list{display:flex;flex-direction:column}.post-row{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px dotted var(--base2);color:inherit}.post-row:hover{background:var(--hover)}.post-date{color:var(--base1);font-size:12px;font-variant-numeric:tabular-nums}.post-title{color:var(--base01)}.post-row:hover .post-title{color:var(--orange)}.post-desc{grid-column:2;color:var(--base1);font-size:12.5px;margin-top:2px}.all-posts{color:var(--base1);font-size:13px}.footer{font-size:12px;color:var(--base1)}.caret{display:inline-block;width:7px;height:14px;background:var(--base1);vertical-align:-2px;margin-left:2px}.caret.blink{animation:blink 1120ms steps(1) infinite}@keyframes blink{50%{opacity:0}}.back-link{color:var(--blue);font-size:13px}.post-meta{color:var(--base1);font-size:12px;margin:20px 0 0}.post-title-main{color:var(--base01);font-size:18px;font-weight:700;margin:6px 0 0}.prose{color:var(--base00);text-wrap:pretty}.prose :first-child{margin-top:0}.prose h2,.prose h3{color:var(--base01);font-weight:700;font-size:15px;margin-top:2em}.prose a{color:var(--blue)}.prose a:hover{color:var(--orange)}.prose code{background:var(--base2);padding:1px 4px;border-radius:2px}.prose pre{background:var(--code-bg);padding:14px 16px;border-radius:3px;overflow-x:auto;font-size:12.5px}.prose pre code{background:none;padding:0}.prose blockquote{color:var(--base1);border-top:1px dotted var(--base2);border-bottom:1px dotted var(--base2);margin:1.5em 0;padding:12px 0}.prose blockquote p{margin:0}.prose hr{border:none;border-top:1px solid var(--base2);margin:2em 0}.prose img{max-width:100%;border-radius:3px;border:1px solid var(--base2)}@media (max-width: 520px){.post-row{grid-template-columns:1fr;gap:2px}.post-desc{grid-column:1}}