@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-serif-latin-400-normal.BIGslYFI.woff2)format("woff2"),url(/_astro/ibm-plex-serif-latin-400-normal.BB-zNvJB.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-serif-latin-400-italic.BCf4TsCA.woff2)format("woff2"),url(/_astro/ibm-plex-serif-latin-400-italic.Dd68USph.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-serif-latin-600-normal.DAxitmSu.woff2)format("woff2"),url(/_astro/ibm-plex-serif-latin-600-normal.D3rpGdkS.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff")}:root{--bg-primary:#111112;--bg-secondary:#19191b;--bg-elevated:#212124;--text-primary:#f1f0ec;--text-secondary:#bdbcb6;--text-muted:#8f8e88;--border-subtle:#ffffff1a;--border-strong:#ffffff3d;--accent-amber:#fbbf24;--on-accent:#111112;--cat-family:#fbbf24;--cat-memory:#fb7185;--cat-code:#9db2d6;--link-web:#8fc7a3;--radius-sm:4px;--radius-md:6px;--font-sans:"IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"IBM Plex Serif", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--max-width:1120px;--reading-width:700px}html[data-theme=light]{--bg-primary:#f6f6f7;--bg-secondary:#ebebed;--bg-elevated:#fff;--text-primary:#18181a;--text-secondary:#46464a;--text-muted:#66666b;--border-subtle:#18181a21;--border-strong:#18181a4d;--accent-amber:#945500;--on-accent:#fff;--cat-family:#945500;--cat-memory:#be123c;--cat-code:#3f5784;--link-web:#2f6b4a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}body{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none;transition:color .15s}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.container-narrow{width:100%;max-width:var(--reading-width);margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{color:var(--text-primary);font-weight:600;line-height:1.25}.serif-heading{font-family:var(--font-serif);font-weight:600}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:1.5rem;display:flex}.section-title{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.15}.voice-code{font-family:var(--font-mono);letter-spacing:-.03em;font-weight:600}.voice-code .bracket{color:var(--accent-amber);font-weight:400}.voice-life{font-family:var(--font-serif);font-style:italic;font-weight:400}.band{--band-honey:#cfa24e;--band-pad:1.5rem;--band-cushion:1rem;--animals-w:352px;--animals-h:143px;--band-fade:140px;--band-solid:calc(var(--band-pad) + var(--animals-w) + var(--band-cushion));justify-content:space-between;align-items:flex-end;gap:calc(var(--band-fade) + var(--band-cushion));padding:0 var(--band-pad) 0 0;border-radius:var(--radius-md);background:linear-gradient(to left, var(--band-honey) var(--band-solid), var(--bg-primary) calc(var(--band-solid) + var(--band-fade)));display:flex}.band a{text-underline-offset:3px;text-decoration:underline}.band-content{flex:1;min-width:0;padding:3.25rem 0}.band-compact{--animals-w:116px;--band-fade:70px;--band-tint:color-mix(in srgb, var(--band-honey) 16%, var(--bg-primary));--band-ramp-start:calc(var(--band-solid) + var(--band-fade));background:linear-gradient(to left, var(--band-honey) var(--band-solid), var(--band-tint) var(--band-ramp-start));padding-left:1rem}@media (width>=961px){.band-compact{--band-ramp-start:58%}}@media (width<=960px){.band:not(.band-compact){--band-fade:80px;--band-cushion:.75rem;background:linear-gradient(to top, var(--band-honey) calc(var(--animals-h) + var(--band-cushion)), var(--bg-primary) calc(var(--animals-h) + var(--band-cushion) + var(--band-fade)));flex-direction:column;align-items:flex-end;gap:0}.band:not(.band-compact) .band-content{width:100%;padding:2.5rem 0 calc(var(--band-fade) + var(--band-cushion));flex:none}}@media (width<=480px){.band{--band-pad:1rem;--animals-h:121px}.band-compact{--animals-w:94px;--band-fade:30px;--band-cushion:.5rem;padding-left:.6rem}}.cat-family{color:var(--cat-family)}.cat-memory{color:var(--cat-memory)}.cat-code{color:var(--cat-code)}.text-link{color:var(--accent-amber);text-underline-offset:3px;font-weight:500;text-decoration:underline}.badge{border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--on-accent);align-self:flex-start;padding:.12rem .5rem;font-size:.76rem;line-height:1.5;display:inline-block}.badge.cat-family{background:var(--cat-family);color:var(--on-accent)}.badge.cat-memory{background:var(--cat-memory);color:var(--on-accent)}.badge.cat-code{background:var(--cat-code);color:var(--on-accent)}a.badge:hover{text-underline-offset:3px;text-decoration:underline}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.65rem 1.15rem;font-size:.94rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--accent-amber);color:var(--on-accent)}.btn-primary:hover{opacity:.88}.btn-secondary{color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{border-color:var(--accent-amber)}.prose{font-family:var(--font-serif);color:var(--text-primary);font-size:1.1rem;line-height:1.75}.prose p{margin-bottom:1.35rem}.prose strong{font-weight:600}.prose h2{margin-top:2.4rem;margin-bottom:.85rem;font-size:1.45rem}.prose h3{margin-top:1.9rem;margin-bottom:.65rem;font-size:1.2rem}.prose ul,.prose ol{margin-bottom:1.5rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose blockquote{border-left:1px solid var(--border-strong);color:var(--text-secondary);margin:1.75rem 0;padding-left:1.25rem}.prose blockquote p:last-child{margin-bottom:0}.prose a{color:var(--accent-amber);text-underline-offset:3px;text-decoration:underline}.prose code{font-family:var(--font-mono);font-size:.86em}.prose pre{border-radius:var(--radius-sm);margin:1.75rem 0;padding:1.1rem;font-size:.92rem;line-height:1.55;overflow-x:auto}.prose hr{border:none;border-top:1px solid var(--border-subtle);margin:2.5rem 0}.post-list,.projects-list{flex-direction:column;display:flex}.page-hero{border-bottom:1px solid var(--border-subtle);padding:3.5rem 0 2.25rem}.page-title{max-width:26ch;margin-bottom:.9rem;font-size:clamp(2rem,4vw,2.7rem);line-height:1.18}.page-lead{color:var(--text-secondary);max-width:64ch;font-size:1.08rem}@media (width<=768px){.container,.container-narrow{padding:0 1.15rem}}.brand-mark[data-astro-cid-uivuhh7y]{font-family:var(--font-mono);background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;justify-content:center;align-items:center;gap:.35rem;padding:.42rem .78rem;font-weight:700;transition:border-color .2s,transform .18s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #00000038}.brand-mark[data-astro-cid-uivuhh7y]:hover{border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 6px 18px #f59e0b40}.bracket[data-astro-cid-uivuhh7y]{color:#4338ca;user-select:none;font-size:1.25rem;line-height:1}.emoticon-strip[data-astro-cid-uivuhh7y]{align-items:center;gap:.35rem;padding:0 .15rem;display:inline-flex}.emo-icon[data-astro-cid-uivuhh7y]{filter:drop-shadow(0 2px 3px #00000052);flex-shrink:0;width:1.95rem;height:1.95rem;transition:transform .2s}.emo-phoenix[data-astro-cid-uivuhh7y]{width:2.15rem;height:2.15rem}.brand-mark[data-astro-cid-uivuhh7y]:hover .emo-icon[data-astro-cid-uivuhh7y]:first-child{transform:translateY(-2px)translate(1px)}.brand-mark[data-astro-cid-uivuhh7y]:hover .emo-icon[data-astro-cid-uivuhh7y]:nth-child(2){transform:scale(1.14)}.brand-mark[data-astro-cid-uivuhh7y]:hover .emo-icon[data-astro-cid-uivuhh7y]:nth-child(3){transform:translateY(-2px)rotate(4deg)}.brand-mark[data-astro-cid-uivuhh7y]:hover .emo-icon[data-astro-cid-uivuhh7y]:nth-child(4){transform:translateY(-3px)scale(1.12)}.brand-mark-sm[data-astro-cid-uivuhh7y]{gap:.25rem;padding:.32rem .6rem}.brand-mark-sm[data-astro-cid-uivuhh7y] .emo-icon[data-astro-cid-uivuhh7y]{width:1.55rem;height:1.55rem}.brand-mark-sm[data-astro-cid-uivuhh7y] .emo-phoenix[data-astro-cid-uivuhh7y]{width:1.7rem;height:1.7rem}.brand-mark-sm[data-astro-cid-uivuhh7y] .bracket[data-astro-cid-uivuhh7y]{font-size:1.05rem}@media (width<=480px){.emo-icon[data-astro-cid-uivuhh7y]{width:1.55rem;height:1.55rem}.emo-phoenix[data-astro-cid-uivuhh7y]{width:1.7rem;height:1.7rem}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;padding-top:.6rem;padding-bottom:.6rem;display:flex}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.8rem;display:inline-flex}.brand-text[data-astro-cid-nen7h5rs]{flex-direction:column;line-height:1.18;display:flex}.brand-text[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{font-size:1.18rem}.brand-sub[data-astro-cid-nen7h5rs]{color:var(--text-muted);font-size:.78rem;font-family:var(--font-mono)}.main-nav[data-astro-cid-nen7h5rs]{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.nav-link[data-astro-cid-nen7h5rs]{color:var(--text-secondary);padding:.45rem .85rem;font-size:.92rem;font-weight:500}.nav-link[data-astro-cid-nen7h5rs]:hover{color:var(--text-primary)}.nav-link[data-astro-cid-nen7h5rs].active{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--accent-amber);text-underline-offset:6px;text-decoration-thickness:2px}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.5rem;display:flex}.theme-btn[data-astro-cid-nen7h5rs]{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;transition:border-color .15s;display:inline-flex}@media (hover:hover){.theme-btn[data-astro-cid-nen7h5rs]:hover{border-color:var(--border-strong)}}.social-links[data-astro-cid-nen7h5rs]{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.social-btn[data-astro-cid-nen7h5rs]{width:1.5rem;height:1.5rem;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}@media (hover:hover){.social-btn[data-astro-cid-nen7h5rs]:hover{color:var(--text-primary);border-color:var(--border-strong)}}html[data-theme=light] .icon-sun[data-astro-cid-nen7h5rs],html:not([data-theme=light]) .icon-moon[data-astro-cid-nen7h5rs]{display:none}@media (width<=680px){.header-inner[data-astro-cid-nen7h5rs]{grid-template-columns:minmax(0,1fr) auto;gap:.6rem .5rem;display:grid}.brand[data-astro-cid-nen7h5rs]{gap:.6rem;min-width:0}.header-actions[data-astro-cid-nen7h5rs]{grid-area:1/2}.main-nav[data-astro-cid-nen7h5rs]{border-top:1px solid var(--border-subtle);grid-area:2/1/auto/-1;justify-content:space-between;padding-top:.35rem}.nav-link[data-astro-cid-nen7h5rs]{padding:.35rem .6rem;font-size:.85rem}}@media (width<=400px){.brand[data-astro-cid-nen7h5rs] .brand-mark{gap:.2rem;padding:.3rem .5rem}.brand[data-astro-cid-nen7h5rs] .emoticon-strip{gap:.2rem;padding:0}.brand[data-astro-cid-nen7h5rs] .bracket{font-size:1rem}.brand[data-astro-cid-nen7h5rs] .emo-icon{width:1.25rem;height:1.25rem}.brand[data-astro-cid-nen7h5rs] .emo-phoenix{width:1.35rem;height:1.35rem}.brand-sub[data-astro-cid-nen7h5rs]{font-size:.7rem}}@media (width<=380px){.main-nav[data-astro-cid-nen7h5rs]{gap:.15rem}.nav-link[data-astro-cid-nen7h5rs]{padding:.3rem;font-size:.78rem}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border-subtle);margin-top:auto;padding:3rem 0 2.25rem}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding-bottom:2.25rem;display:grid}.footer-title[data-astro-cid-jo6i4kqk]{margin-bottom:.6rem}.footer-about[data-astro-cid-jo6i4kqk]{color:var(--text-secondary);max-width:50ch;font-size:.94rem}.footer-links-col[data-astro-cid-jo6i4kqk] h4[data-astro-cid-jo6i4kqk]{margin-bottom:.7rem;font-size:.92rem}.footer-links-col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.4rem;list-style:none;display:flex}.footer-links-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-secondary);font-size:.92rem}.footer-links-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.footer-legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-amber)}.footer-bottom[data-astro-cid-jo6i4kqk]{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;font-size:.86rem;display:flex}.footer-legal[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:1.1rem;display:flex}.footer-dedication[data-astro-cid-jo6i4kqk]{font-family:var(--font-serif);color:var(--text-secondary);font-style:italic}@media (width<=768px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:1.75rem}}.site-main[data-astro-cid-z4jru4n3]{flex:1;padding-bottom:4rem}
