@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-latin-300-normal.b4i7YzLG.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-300-normal.C9Of02-5.woff)format("woff")}@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 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")}:root{--paper:#f3f0e9;--surface:#fbfaf6;--ink:#15130f;--muted:#5b564c;--rule:#d6d0c3;--rule-strong:#15130f;--accent:#a83a17;--accent-ink:#84290b;--signal:#a83a17;--signal-ink:#84290b;--signal-wash:#f5e2d6;--box-stroke:#c4bcab;--bar:#8a8376;--grid-dot:#d8d1c2;--board:#ebe7dd;--plate:#faf8f3;--sans:"IBM Plex Sans", system-ui, sans-serif;--serif:"IBM Plex Serif", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--measure:68ch;--wide:1200px;color-scheme:light}:root[data-theme=dark]{--paper:#12110f;--surface:#1b1a17;--ink:#efeae0;--muted:#a59f93;--rule:#302d28;--rule-strong:#efeae0;--accent:#f08a5d;--accent-ink:#f7ae8c;--signal:#f08a5d;--signal-ink:#f08a5d;--signal-wash:#2d1b12;--box-stroke:#3e3a34;--bar:#706a60;--grid-dot:#25231f;--board:#171613;--plate:#ece8e0;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#12110f;--surface:#1b1a17;--ink:#efeae0;--muted:#a59f93;--rule:#302d28;--rule-strong:#efeae0;--accent:#f08a5d;--accent-ink:#f7ae8c;--signal:#f08a5d;--signal-ink:#f08a5d;--signal-wash:#2d1b12;--box-stroke:#3e3a34;--bar:#706a60;--grid-dot:#25231f;--board:#171613;--plate:#ece8e0;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);text-rendering:optimizelegibility;margin:0}img,svg,video{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent-ink);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.wrap{width:min(100% - 2.5rem, var(--wide));margin-inline:auto}.prose-width{max-width:var(--measure)}h1,h2,h3{font-family:var(--sans);letter-spacing:-.015em;margin:0 0 .5em;line-height:1.1}h1{letter-spacing:-.04em;font-size:clamp(2.6rem,7vw,5rem);font-weight:600}h2{font-size:1.75rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}p{margin:0 0 1em}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:400}.site-header{border-bottom:2px solid var(--rule-strong)}.site-header .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.wordmark{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;font-weight:600;text-decoration:none}.wordmark:hover{color:var(--accent)}.nav{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:1.5rem;font-size:.8rem;display:flex}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}@media (width<=520px){.site-header .wrap{flex-wrap:wrap;row-gap:.35rem;width:calc(100% - 2rem);padding:.6rem 0}.nav{gap:1rem;font-size:.72rem}}.theme-toggle{border:1px solid var(--rule);color:var(--muted);cursor:pointer;width:2rem;height:2rem;font:inherit;background:0 0;border-radius:999px;place-items:center;padding:0;display:grid}.theme-toggle:hover{color:var(--ink);border-color:var(--muted)}main{padding-block:3rem 6rem}section+section{margin-top:5.5rem}.board{background-color:var(--board);background-image:radial-gradient(var(--grid-dot) 1px, transparent 1.2px);border:1px solid var(--rule);background-size:18px 18px}.section-head{border-top:2px solid var(--rule-strong);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem;padding-top:.75rem;display:flex}.section-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,3.5vw,2.4rem)}.section-head a,.section-head .label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.lede{color:var(--ink);max-width:60ch;font-size:1.25rem;line-height:1.5}.muted{color:var(--muted)}.small{font-size:.9rem}.action{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-underline-offset:.3em;font-size:.78rem;text-decoration:underline 1px}a.action:hover,a:hover .action{color:var(--accent-ink);text-decoration-thickness:2px}.link-row{flex-wrap:wrap;gap:.5rem 1.25rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.entries{margin:0;padding:0;list-style:none}.entries li{border-bottom:1px solid var(--rule);grid-template-columns:7.5rem 1fr;gap:1rem;padding:1rem 0;display:grid}.entries time{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:.3rem;font-size:.8rem}.entries a{font-family:var(--serif);color:var(--ink);font-size:1.2rem;text-decoration:none}.entries a:hover{color:var(--accent);text-decoration:underline}.entries .summary{color:var(--muted);max-width:68ch;margin-top:.2rem;font-size:.95rem;display:block}.tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);vertical-align:.15em;margin-left:.5rem;font-size:.72rem;display:inline-block}@media (width<=560px){.entries li{grid-template-columns:1fr;gap:.15rem}}blockquote.quote{margin:0}blockquote.quote p{font-family:var(--serif);margin-bottom:.6rem;font-size:1.15rem;line-height:1.55}blockquote.quote footer{color:var(--muted);font-size:.9rem}.article-head{max-width:52rem;margin-bottom:3rem}.article-head h1{font-size:clamp(2.2rem,5vw,3.6rem)}.article-head .meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.prose{max-width:var(--measure);font-family:var(--serif);font-size:1.125rem;line-height:1.7}.prose h2,.prose h3,.prose h4{font-family:var(--sans);margin-top:2.2em}.prose h2{font-size:1.6rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1.05rem}.prose img,.prose video{border:1px solid var(--rule);background:var(--surface);border-radius:2px;max-width:100%;height:auto;margin:1.75rem 0;display:block}.prose figure.diagram{margin:2rem 0}.prose figure.diagram svg{background:0 0;border:0;width:100%;height:auto;display:block}@media (width<=640px){.prose figure.diagram{-webkit-overflow-scrolling:touch;overflow-x:auto}.prose figure.diagram svg.wide{min-width:600px}}.prose figure.diagram figcaption{font-family:var(--sans);color:var(--muted);margin-top:.5rem;font-size:.9rem}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.prose code{font-family:var(--mono);font-size:.88em}.prose :not(pre)>code{background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:.05em .3em;font-weight:400}.prose pre code{font-size:inherit}.prose pre{border:1px solid var(--rule);border-radius:3px;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.prose li{margin-bottom:.35em}.prose table{border-collapse:collapse;font-family:var(--sans);font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;padding:.4rem .75rem .4rem 0}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}}.site-footer{border-top:2px solid var(--rule-strong);color:var(--muted);padding-block:2rem;font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--surface);z-index:10;padding:.5rem .75rem;top:1rem;left:1rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{:root:root:root{--paper:#fff;--surface:#fff;--ink:#000;--muted:#444;--rule:#bbb;--rule-strong:#000;--accent:#000;--accent-ink:#000;--signal-wash:#fff;--box-stroke:#999;--board:#fff;--grid-dot:#fff;color-scheme:light}@page{margin:14mm 15mm}body{background:#fff;font-size:10pt;line-height:1.45}.site-header,.site-footer,.skip,.theme-toggle,[data-roles-toggle],.role-toggle,.work-plate{display:none!important}main{width:100%;padding:0}section+section{margin-top:1.75rem}a{color:inherit;text-decoration:none}h1,h2,h3,.section-head,summary{break-after:avoid;page-break-after:avoid}.role,.work-item,.side-item,blockquote.quote,li{break-inside:avoid;page-break-inside:avoid}details::details-content{content-visibility:visible;display:contents}.intro-lede,.contact{max-width:none!important;font-size:12.5pt!important}.section-head h2{font-size:16pt!important}.role-summary,blockquote.quote p{font-size:11pt!important}.work-title{font-size:14pt!important}*{transition:none!important}}
