.emdash-image-media[data-astro-cid-uktygzoq]{max-width:100%;height:auto}:where(:root.dark) .emdash-image--light,:where(:root.light) .emdash-image--dark{display:none}@media (prefers-color-scheme:dark){:where(:root:not(.light)) .emdash-image--light{display:none}}@media (prefers-color-scheme:light){:where(:root:not(.dark)) .emdash-image--dark{display:none}}.has-text-align-center[data-astro-cid-se2ytl6k]{text-align:center}.has-text-align-right[data-astro-cid-se2ytl6k]{text-align:right}.has-text-align-justify[data-astro-cid-se2ytl6k]{text-align:justify}.emdash-image[data-astro-cid-el53hnld]{margin:1.5rem 0}.emdash-image[data-astro-cid-el53hnld] img[data-astro-cid-el53hnld]{max-width:100%;height:auto}.emdash-image[data-astro-cid-el53hnld] figcaption[data-astro-cid-el53hnld]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-image--align-left[data-astro-cid-el53hnld],.emdash-image--align-right[data-astro-cid-el53hnld]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-el53hnld]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-el53hnld]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-el53hnld]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-el53hnld],.emdash-image--align-full[data-astro-cid-el53hnld]{width:100%}@media (width<=640px){.emdash-image--align-left[data-astro-cid-el53hnld],.emdash-image--align-right[data-astro-cid-el53hnld]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-sszyb3yt]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-sszyb3yt]{color:#ccc;background:#2d2d2d;border-radius:.5rem .5rem 0 0;padding:.5rem 1rem;font-family:monospace;font-size:.75rem}.emdash-code[data-astro-cid-sszyb3yt] pre[data-astro-cid-sszyb3yt]{background:#1e1e1e;border-radius:.5rem;margin:0;padding:1rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-sszyb3yt]+pre[data-astro-cid-sszyb3yt]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-sszyb3yt] code[data-astro-cid-sszyb3yt]{color:#e0e0e0;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.emdash-embed[data-astro-cid-4cpawlcb]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-4cpawlcb]{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.emdash-embed-video[data-astro-cid-4cpawlcb] iframe[data-astro-cid-4cpawlcb],.emdash-embed-video[data-astro-cid-4cpawlcb] video[data-astro-cid-4cpawlcb]{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.emdash-embed-audio[data-astro-cid-4cpawlcb],.emdash-embed-audio[data-astro-cid-4cpawlcb] audio[data-astro-cid-4cpawlcb]{width:100%}.emdash-embed[data-astro-cid-4cpawlcb] figcaption[data-astro-cid-4cpawlcb]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-gallery[data-astro-cid-ss43b5sf]{grid-template-columns:repeat(var(--columns,3), 1fr);gap:1rem;margin:1.5rem 0;display:grid}.emdash-gallery-item[data-astro-cid-ss43b5sf]{margin:0}.emdash-gallery-item[data-astro-cid-ss43b5sf] img[data-astro-cid-ss43b5sf]{object-fit:cover;aspect-ratio:1;width:100%;height:auto}.emdash-gallery-item[data-astro-cid-ss43b5sf] figcaption[data-astro-cid-ss43b5sf]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.25rem;font-size:.75rem}@media (width<=640px){.emdash-gallery[data-astro-cid-ss43b5sf]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-tzrnk3or]{gap:2rem;margin:1.5rem 0;display:flex}.emdash-column[data-astro-cid-tzrnk3or]{flex:1;min-width:0}@media (width<=768px){.emdash-columns[data-astro-cid-tzrnk3or]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-6f2k5fvk]{margin:2rem 0}.emdash-break-line[data-astro-cid-6f2k5fvk]{border:none;border-top:1px solid var(--emdash-break-color,var(--color-border,#e0e0e0))}.emdash-break-dots[data-astro-cid-6f2k5fvk]{text-align:center;color:var(--emdash-break-dots-color,var(--color-muted,#999));letter-spacing:.5em}.emdash-break-space[data-astro-cid-6f2k5fvk]{height:2rem}iframe[data-emdash-html-block]{border:0;width:100%;margin:1.5rem 0;display:block}.emdash-html-block[data-astro-cid-hw6quyrw]{margin:1.5rem 0}.emdash-iframe[data-astro-cid-2t6wn6cd]{aspect-ratio:16/9;width:100%;margin:1.5rem 0}.emdash-iframe[data-astro-cid-2t6wn6cd] iframe{border:0;width:100%;height:100%;display:block}.emdash-table-wrapper[data-astro-cid-cn2xe4ao]{overscroll-behavior-inline:contain;max-inline-size:100%;margin-block:1.5rem;overflow-x:auto}.emdash-table[data-astro-cid-cn2xe4ao]{border-collapse:collapse;inline-size:100%;font-size:.9rem}.emdash-table[data-astro-cid-cn2xe4ao] th[data-astro-cid-cn2xe4ao],.emdash-table[data-astro-cid-cn2xe4ao] td[data-astro-cid-cn2xe4ao]{border:1px solid var(--color-border,#ddd);text-align:start;vertical-align:top;padding:.75rem;position:relative}.emdash-table[data-astro-cid-cn2xe4ao] th[data-astro-cid-cn2xe4ao] p,.emdash-table[data-astro-cid-cn2xe4ao] td[data-astro-cid-cn2xe4ao] p{margin:0}.emdash-table[data-astro-cid-cn2xe4ao] th[data-astro-cid-cn2xe4ao]{background:var(--color-surface,#f5f5f5);font-weight:600}.emdash-table[data-astro-cid-cn2xe4ao] tbody[data-astro-cid-cn2xe4ao] tr[data-astro-cid-cn2xe4ao]:nth-child(2n){background:var(--color-bg-subtle,#fafafa)}.emdash-table[data-astro-cid-cn2xe4ao] tbody[data-astro-cid-cn2xe4ao] tr[data-astro-cid-cn2xe4ao]:hover{background:var(--color-surface,#f0f0f0)}.emdash-button[data-astro-cid-sijw52wp]{cursor:pointer;border-radius:4px;padding:.75em 1.5em;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-block}.emdash-button--default[data-astro-cid-sijw52wp],.emdash-button--fill[data-astro-cid-sijw52wp]{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff);border:2px solid var(--emdash-button-bg,#0073aa)}.emdash-button--default[data-astro-cid-sijw52wp]:hover,.emdash-button--fill[data-astro-cid-sijw52wp]:hover{background-color:var(--emdash-button-bg-hover,#005177);border-color:var(--emdash-button-bg-hover,#005177)}.emdash-button--outline[data-astro-cid-sijw52wp]{color:var(--emdash-button-bg,#0073aa);border:2px solid var(--emdash-button-bg,#0073aa);background-color:#0000}.emdash-button--outline[data-astro-cid-sijw52wp]:hover{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff)}.emdash-buttons[data-astro-cid-i6i3352l]{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.emdash-buttons--vertical[data-astro-cid-i6i3352l]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-i6i3352l]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-drmnciyw]{background-color:var(--emdash-cover-fallback-bg,#333);border-radius:4px;align-items:center;margin:1.5rem 0;padding:2rem;display:flex;position:relative;overflow:hidden}.emdash-cover__background[data-astro-cid-drmnciyw]{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.emdash-cover__video[data-astro-cid-drmnciyw]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-drmnciyw]{z-index:1;position:absolute;inset:0}.emdash-cover__content[data-astro-cid-drmnciyw]{z-index:2;width:100%;color:var(--emdash-cover-text-color,#fff);position:relative}.emdash-cover--align-left[data-astro-cid-drmnciyw]{text-align:left;justify-content:flex-start}.emdash-cover--align-center[data-astro-cid-drmnciyw]{text-align:center;justify-content:center}.emdash-cover--align-right[data-astro-cid-drmnciyw]{text-align:right;justify-content:flex-end}.emdash-cover__content[data-astro-cid-drmnciyw] h1,.emdash-cover__content[data-astro-cid-drmnciyw] h2,.emdash-cover__content[data-astro-cid-drmnciyw] h3,.emdash-cover__content[data-astro-cid-drmnciyw] h4,.emdash-cover__content[data-astro-cid-drmnciyw] p{color:inherit}.emdash-file[data-astro-cid-bhvhxw2e]{background-color:var(--emdash-file-bg,#f5f5f5);border:1px solid var(--emdash-file-border,#e0e0e0);border-radius:4px;align-items:center;gap:.75rem;margin:1rem 0;padding:1rem;display:flex}.emdash-file__link[data-astro-cid-bhvhxw2e]{color:var(--emdash-file-color,#333);flex:1;align-items:center;gap:.5rem;text-decoration:none;display:flex}.emdash-file__link[data-astro-cid-bhvhxw2e]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-bhvhxw2e]{width:1.5rem;height:1.5rem;color:var(--emdash-file-icon-color,#666);flex-shrink:0}.emdash-file__name[data-astro-cid-bhvhxw2e]{word-break:break-all;font-weight:500}.emdash-file__download[data-astro-cid-bhvhxw2e]{background-color:var(--emdash-button-bg,#0073aa);width:2.5rem;height:2.5rem;color:var(--emdash-button-color,#fff);border-radius:4px;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.emdash-file__download[data-astro-cid-bhvhxw2e]:hover{background-color:var(--emdash-button-bg-hover,#005177)}.emdash-file__download[data-astro-cid-bhvhxw2e] svg[data-astro-cid-bhvhxw2e]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-mqucxrj7]{border-top:4px solid var(--emdash-pullquote-border,#0073aa);border-bottom:4px solid var(--emdash-pullquote-border,#0073aa);text-align:center;margin:2rem 0;padding:1.5rem 2rem}.emdash-pullquote__text[data-astro-cid-mqucxrj7]{color:var(--emdash-pullquote-color,#333);margin:0;font-size:1.5rem;font-style:italic;line-height:1.4}.emdash-pullquote__citation[data-astro-cid-mqucxrj7]{color:var(--emdash-pullquote-citation-color,#666);margin-top:1rem;font-size:.9rem;font-style:normal}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161826;--surface:#232532;--text:#e9e9ed;--accent:#9184d9;--section:#262a60;--neutral-200:#e4e7f5;--neutral-300:#cfd3e5;--neutral-400:#b2b6ca;--neutral-600:#75798c;--neutral-700:#595d6c;--neutral-800:#3f424d;--neutral-900:#292b31;--accent-100:#f5f4ff;--accent-200:#e7e5fe;--accent-300:#d2cefd;--accent-900:#2b2741;--code-blue:#8fb4e3;--code-green:#a3cfb0;--code-amber:#e2c48d;--code-red:#e39a9a;--shiki-foreground:var(--neutral-200);--shiki-background:var(--surface);--shiki-token-keyword:var(--accent);--shiki-token-function:var(--code-blue);--shiki-token-string:var(--code-green);--shiki-token-string-expression:var(--code-green);--shiki-token-constant:var(--code-amber);--shiki-token-parameter:var(--neutral-300);--shiki-token-comment:var(--neutral-600);--shiki-token-punctuation:var(--neutral-400);--shiki-token-link:var(--accent-300);--shiki-token-inserted:var(--code-green);--shiki-token-deleted:var(--code-red);--mono:var(--font-mono), "JetBrains Mono", ui-monospace, monospace;--sans:var(--font-sans), "Inter", system-ui, sans-serif;--px:clamp(20px, 4vw, 48px);--px-narrow:clamp(20px, 3vw, 32px);--beam:6px solid var(--neutral-200);--divider:1px solid var(--neutral-700);--rule:1px solid var(--neutral-800)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:15px;font-weight:400;line-height:1.5;display:flex}main{flex:1 0 auto}a{color:var(--accent-300);text-decoration:none}a:hover{color:var(--accent-100)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-900);color:var(--accent-100)}h1,h2,p,blockquote,figure,pre{margin:0}.prompt{color:var(--accent)}.muted{color:var(--neutral-400)}.tag{color:var(--accent-300)}.beam{border-top:var(--beam)}.divider-top{border-top:var(--divider)}.pad{padding:24px var(--px)}.display{font-family:var(--sans);letter-spacing:-.055em;font-size:clamp(72px,9vw,112px);font-weight:500;line-height:.88}.display .dot{color:var(--accent)}.cursor{vertical-align:-.15em;background:var(--accent);width:.6em;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}html{scroll-behavior:auto}}.shape{flex:none;display:block}.shape-circle{background:var(--surface);border:1px solid var(--neutral-400);border-radius:50%;width:16px;height:16px}.shape-accent{background:var(--accent);width:14px;height:14px}.shape-section{background:var(--section);width:16px;height:16px}.shape-slot{flex:0 0 18px;justify-content:center;align-self:center;display:flex}.grid-lines{background-image:linear-gradient(90deg, var(--neutral-800) 1px, transparent 1px), linear-gradient(0deg, var(--neutral-800) 1px, transparent 1px);background-size:90px 90px}.kv{justify-content:space-between;gap:16px;display:flex}.site-header{padding:20px var(--px);border-bottom:var(--divider);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-path{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;font-weight:500;overflow:hidden}.site-path:hover{color:var(--accent-300)}.site-nav{flex-wrap:wrap;gap:8px 32px;display:flex}.site-nav a{color:var(--neutral-300)}.site-nav a:hover{color:var(--accent-300)}.site-nav a[aria-current]{color:var(--accent)}.site-footer{padding:16px var(--px);border-top:var(--divider);color:var(--neutral-400);flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.split{flex-wrap:wrap;display:flex}.split-5{border-right:var(--divider);flex:5 420px;min-width:0}.split-7{flex:7 420px;min-width:0}.split-gold-l{min-width:min(100%,260px);padding:48px var(--px-narrow);border-right:var(--divider);flex:0 38.2%}.split-gold-r{min-width:0;padding:48px var(--px);flex:61.8%}@media (width<=840px){.split-5{border-right:0;border-bottom:var(--divider)}}@media (width<=680px){.split-gold-l{border-right:0;border-bottom:var(--divider);flex-basis:100%}}.hero-text{padding:64px var(--px);flex-direction:column;justify-content:space-between;gap:48px;display:flex}.transcript{flex-direction:column;gap:10px;line-height:1.6;display:flex}.transcript .about{color:var(--neutral-200);text-wrap:pretty;max-width:380px}.transcript .kv{max-width:380px}.transcript .gap{margin-top:16px;scroll-margin-top:24px}.transcript .kv a{overflow-wrap:anywhere;text-align:right;min-width:0}.hero-art{align-items:center;display:flex}.composition{aspect-ratio:720/600;background-image:linear-gradient(90deg, var(--neutral-800) 1px, transparent 1px), linear-gradient(0deg, var(--neutral-800) 1px, transparent 1px);background-size:12.5% 15%;width:100%;position:relative;overflow:hidden}.composition>*{position:absolute}.c-beam{background:var(--neutral-200);width:62.5%;height:1%;min-height:4px;top:15%;left:12.5%}.c-rect{background:var(--section);width:37.5%;height:59%;top:16%;left:25%}.c-circle{aspect-ratio:1;background:var(--surface);border:1px solid var(--neutral-600);border-radius:50%;width:25%;top:45%;left:62.5%}.c-square{aspect-ratio:1;background:var(--accent);width:12.5%;top:75%;left:75%}.c-line{background:var(--neutral-400);width:2px;height:30%;top:60%;left:12.5%}.row{padding:20px var(--px);border-top:var(--rule);color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 24px;display:flex}a.row:hover,.row:hover{background:var(--neutral-900);color:var(--text)}.row-baseline{align-items:baseline;row-gap:4px;padding-block:18px}.project-slug{overflow-wrap:anywhere;flex:0 240px;min-width:0;font-size:20px}.project-desc{font-family:var(--sans);color:var(--neutral-300);flex:240px;min-width:0}.row-date{color:var(--neutral-400);flex:0 0 110px}.latest-title{flex:280px;min-width:0;font-size:18px}.section-head{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.blog-title{padding:64px var(--px) 48px;flex-direction:column;gap:32px;display:flex}.blog-filter{padding:64px var(--px) 48px;flex-direction:column;justify-content:flex-end;gap:14px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--neutral-600);background:var(--bg);color:var(--neutral-300);padding:6px 12px;font-size:13px}.chip:hover{color:var(--accent-200);border-color:var(--neutral-400)}.chip[aria-current]{border-color:var(--accent);background:var(--accent-900);color:var(--accent-200)}.post-row{row-gap:8px;padding-block:24px}.post-row-main{flex-direction:column;flex:320px;gap:8px;min-width:0;display:flex}.post-row-title{font-size:22px;font-weight:500;line-height:1.2}.post-row-excerpt{font-family:var(--sans);color:var(--neutral-300);text-wrap:pretty;max-width:640px;font-size:15px;line-height:1.55}.post-row-tag{flex:0 0 64px}.count-line{padding:24px var(--px) 40px;border-top:var(--rule);color:var(--neutral-400)}.post-meta{flex-direction:column;gap:32px;display:flex}.post-meta .back{color:var(--neutral-400);align-self:flex-start}.post-meta .back:hover{color:var(--accent-300)}.stat{flex-direction:column;gap:10px;line-height:1.6;display:flex}.stat .kv{white-space:nowrap;max-width:280px}.post-title-panel{flex-direction:column;justify-content:flex-end;gap:20px;display:flex}.post-num{color:var(--neutral-400);align-items:center;gap:10px;display:flex}.post-title{font-family:var(--sans);letter-spacing:-.04em;text-wrap:balance;overflow-wrap:break-word;font-size:clamp(40px,5.5vw,72px);font-weight:500;line-height:1}.toc{color:var(--neutral-400);flex-direction:column;gap:10px;display:flex}.toc a{color:var(--neutral-400)}.toc a:hover{color:var(--accent-300)}@media (width>=681px){.toc{position:sticky;top:24px}}.post-body{padding-bottom:64px}.prose{max-width:760px;font-family:var(--sans);color:var(--neutral-200);overflow-wrap:break-word;flex-direction:column;gap:22px;font-size:17px;line-height:1.7;display:flex}.prose p{text-wrap:pretty}.prose .lead{color:var(--text);font-size:21px;line-height:1.55}.prose h2{font-family:var(--mono);color:var(--text);margin-top:16px;scroll-margin-top:24px;font-size:22px;font-weight:500;line-height:1.3}.prose h2:before{content:"## ";color:var(--accent)}.prose h3{font-family:var(--mono);color:var(--text);margin:8px 0 0;font-size:18px;font-weight:500}.prose code{font-family:var(--mono);background:var(--surface);color:var(--accent-200);padding:2px 6px;font-size:15px}.prose pre{background:var(--surface);border-left:6px solid var(--neutral-200);font-family:var(--mono);color:var(--neutral-200);padding:20px 24px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.prose pre .ps,.prose pre .out{color:var(--neutral-400)}.prose blockquote{border-left:2px solid var(--accent);color:var(--text);margin:8px 0;padding:4px 0 4px 24px;font-size:21px;line-height:1.5}.prose ul,.prose ol{flex-direction:column;gap:8px;margin:0;padding-left:1.4em;display:flex}.prose li::marker{color:var(--neutral-400);font-family:var(--mono)}.prose strong{color:var(--text);font-weight:500}.prose figure.emdash-image{margin:0}.prose figure img{border:1px solid var(--neutral-700);width:100%;height:auto;display:block}.prose figcaption{font-family:var(--mono);color:var(--neutral-400);margin-top:8px;font-size:13px}.prose .eof{font-family:var(--mono);color:var(--neutral-400);font-size:15px}.post-nav a{color:var(--text);flex-direction:column;gap:8px;padding-block:28px;display:flex}.post-nav a:hover{background:var(--neutral-900);color:var(--text)}.post-nav .next{text-align:right;align-items:flex-end}@media (width<=680px){.post-nav-empty{display:none}}.post-nav .title{font-size:18px}.not-found{padding:64px var(--px);flex-direction:column;gap:10px;line-height:1.6;display:flex}.not-found .gap{margin-top:16px}@media (width<=600px){.latest-title{flex-basis:100%}}
