@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}:root{--paper: #fffdf8;--ink: #37304a;--ink-soft: #6f678a;--lavender: #d8c7f7;--mint: #c3ecd9;--blush: #f7cdda;--butter: #fbe8a6;--line: #e9e2f2;--font-display: "Departure Mono", "IBM Plex Mono", monospace;--font-body: "IBM Plex Mono", ui-monospace, monospace;--max: 42rem}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.75;-webkit-text-size-adjust:100%}body{margin:0;padding:1.5rem 1.25rem 4rem}.wrap{max-width:var(--max);margin:0 auto}body:has(.post-list) .wrap{max-width:72rem}.site-header{padding:1.5rem 0 2.5rem}.site-title{font-family:var(--font-display);font-size:1.05rem;text-decoration:none;color:var(--ink);letter-spacing:.02em}.site-title .cursor{display:inline-block;width:.6em;height:1em;background:var(--lavender);vertical-align:text-bottom;margin-left:.15em;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.site-title .cursor{animation:none}}.site-nav{margin-top:.35rem;font-size:.8rem;color:var(--ink-soft)}.site-nav a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line)}.site-nav a:hover{color:var(--ink);border-bottom-color:var(--lavender)}.post-list{display:flex;gap:1rem;align-items:flex-start}.post-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.post-card{border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.25rem;background:var(--paper);transition:transform .12s ease;overflow:hidden}.post-card.tint-0{background:color-mix(in srgb,var(--lavender) 26%,var(--paper))}.post-card.tint-1{background:color-mix(in srgb,var(--mint) 26%,var(--paper))}.post-card.tint-2{background:color-mix(in srgb,var(--blush) 26%,var(--paper))}.post-card.tint-3{background:color-mix(in srgb,var(--butter) 30%,var(--paper))}.post-card:hover{transform:translateY(-2px)}.post-card a.post-link{text-decoration:none;color:var(--ink)}.card-cover{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);margin:.75rem 0}.post-card h2{font-family:var(--font-display);font-size:1rem;font-weight:400;margin:0 0 .25rem;text-transform:lowercase}.post-card .meta,.post-page .meta{font-size:.72rem;color:var(--ink-soft);text-transform:lowercase}.post-card p.desc{margin:.5rem 0 0;font-size:.85rem;color:var(--ink-soft)}.tag-row{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.35rem}.tag{font-size:.68rem;text-transform:lowercase;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.05rem .6rem;background:var(--paper)}.tag:hover{background:var(--butter)}.post-page h1{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.35;margin:0 0 .35rem;text-transform:lowercase}.post-page .cover{width:100%;border-radius:14px;border:1px solid var(--line);margin:1.5rem 0}.prose{margin-top:2rem;font-size:.95rem}.prose h2,.prose h3{font-family:var(--font-display);font-weight:400;text-transform:lowercase;margin-top:2.2em}.prose h2{font-size:1.1rem}.prose h3{font-size:.95rem}.prose img,.prose video{display:block;max-width:100%;margin:1.75rem auto;border-radius:12px;border:1px solid var(--line);box-shadow:0 2px 14px color-mix(in srgb,var(--lavender) 30%,transparent)}.prose a img{transition:transform .12s ease}.prose a:hover img{transform:translateY(-2px)}.prose a{color:var(--ink);text-decoration-color:var(--lavender);text-decoration-thickness:2px;text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--mint)}.prose blockquote{margin:1.5em 0;padding:.1rem 1.1rem;border-left:3px solid var(--lavender);background:color-mix(in srgb,var(--lavender) 12%,var(--paper));border-radius:0 10px 10px 0;color:var(--ink-soft)}.prose code{background:color-mix(in srgb,var(--mint) 30%,var(--paper));border-radius:6px;padding:.1em .35em;font-size:.85em}.prose pre{background:#322b45;color:#f2edfb;border-radius:12px;padding:1rem 1.1rem;overflow-x:auto;font-size:.8rem}.prose pre code{background:none;padding:0}.site-footer{margin-top:4rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.72rem;color:var(--ink-soft);text-transform:lowercase}.site-footer a{color:var(--ink-soft)}.lost{text-align:center;padding:3rem 0}.lost h1{font-family:var(--font-display);font-weight:400;font-size:1.4rem;text-transform:lowercase}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.prose pre.astro-code{border:1px solid var(--line)!important;color:var(--ink)!important}.prose pre.astro-code[data-language=tsx],.prose pre.astro-code[data-language=jsx],.prose pre.astro-code[data-language=js],.prose pre.astro-code[data-language=typescript]{background-color:color-mix(in srgb,var(--lavender) 22%,var(--paper))!important}.prose pre.astro-code[data-language=json]{background-color:color-mix(in srgb,var(--blush) 22%,var(--paper))!important}.prose pre.astro-code[data-language=bash],.prose pre.astro-code[data-language=sh]{background-color:color-mix(in srgb,var(--mint) 25%,var(--paper))!important}.prose pre.astro-code{background-color:color-mix(in srgb,var(--butter) 20%,var(--paper))!important}.prose pre.astro-code span{font-family:var(--font-body)!important;font-style:normal!important}.prose pre.astro-code span{color:var(--ink-soft)!important}.prose pre.astro-code span[style*="font-weight: bold"],.prose pre.astro-code span[class*=keyword]{color:var(--ink)!important;font-weight:700!important}.prose pre.astro-code span[class*=string],.prose pre.astro-code span[class*=string-expression],.prose pre.astro-code span[class*=attr-value]{color:color-mix(in srgb,var(--ink) 50%,var(--blush))!important}.prose pre.astro-code span[class*=tag],.prose pre.astro-code span[class*=class-name]{color:color-mix(in srgb,var(--ink) 45%,var(--lavender))!important;font-weight:600!important}.prose pre.astro-code span[class*=property],.prose pre.astro-code span[class*=attr-name]{color:var(--ink)!important}.prose pre.astro-code span[class*=comment]{color:color-mix(in srgb,var(--ink-soft) 50%,transparent)!important;font-style:italic!important}.flower-mark[data-astro-cid-5hce7sga]{width:10px;height:10px;display:inline-block;vertical-align:middle;margin-right:4px;margin-bottom:2px}
