@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pixelify-sans-latin-400-normal.DLrIX9QE.woff2)format("woff2"),url(/_astro/pixelify-sans-latin-400-normal.JapMNN6Z.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}:root{--bg:#000;--bg-raised:#0c0d0e;--bg-raised-2:#141518;--text:#f2f3f4;--text-2:#c4c7cc;--muted:#94979e;--line:#26282b;--line-strong:#494b50;--accent:#9fef00;--accent-ink:#9fef00;--on-accent:#000;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 4.5vw, 2.75rem);--text-3xl:clamp(1.75rem, 5.5vw, 3.5rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-28:112px;--dur-fast:80ms;--dur:.15s;--dur-slow:.5s;--ease-out:cubic-bezier(.2, 0, 0, 1);--font-display:"Pixelify Sans", ui-monospace, monospace;--font-sans:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-mono:var(--font-sans);--container:1200px;--gutter:var(--space-4);--pad:var(--space-10);--header-h:64px;--tap:44px;color-scheme:dark}@media (width>=640px){:root{--gutter:var(--space-6)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-2));-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);font-synthesis:none;margin:0;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0;margin:0;font-weight:400;line-height:1.15}b,strong,dt{font-weight:400}p{margin:0 0 1em}ul,ol{margin:0;padding:0}a{color:inherit;text-underline-offset:3px}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}html{scrollbar-color:var(--line-strong) var(--bg)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px solid var(--line)}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:100;background:var(--accent);color:var(--on-accent);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}.bg-canvas{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.frame{width:100%;max-width:var(--container);border-inline:1px solid var(--line);margin-inline:auto}@media (width<=1247px){.frame{width:calc(100% - 2 * var(--gutter))}}.cells{background:var(--line);border-block:1px solid var(--line);gap:1px;display:grid}.cells>*{background:var(--bg);min-width:0}.cell{padding:var(--space-8) var(--gutter)}@media (width>=768px){.cell{padding:var(--pad)}}.section{border-top:1px solid var(--line)}.section-head{gap:var(--space-5);padding:var(--space-20) var(--gutter) var(--space-10);display:grid;position:relative}@media (width>=768px){.section-head{padding:var(--space-28) var(--pad) var(--space-12)}}.label{align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;line-height:1.4;display:inline-flex}.label:before{content:"";width:var(--space-2);height:var(--space-2);background:var(--line-strong);flex:none}.label--plain:before{content:none}.h-section{font-size:var(--text-2xl)}.h-section:before{content:">";color:var(--accent-ink);margin-right:.45em}.h-section:after,.cursor:after{content:"";vertical-align:-.08em;background:var(--accent);width:.5em;height:.85em;margin-left:.2em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.dim{color:var(--muted)}.prose{max-width:66ch;color:var(--text-2)}.mono{font-family:var(--font-mono)}.btn{justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background-color var(--dur-fast) linear;border:0;font-weight:400;text-decoration:none;display:inline-flex}.btn .arrow{transition:transform var(--dur) var(--ease-out)}.text-link{align-items:center;gap:var(--space-2);min-height:var(--tap);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.02em;text-transform:uppercase;color:var(--text);text-decoration:none;display:inline-flex}.text-link .arrow{color:var(--accent-ink);transition:transform var(--dur) var(--ease-out)}@media (hover:hover){.btn:hover{background:#b6ff2e}.btn:hover .arrow,.text-link:hover .arrow{transform:translateX(var(--space-1))}.text-link:hover{text-decoration:underline}}.tag{padding:var(--space-1) var(--space-2);border:1px solid var(--line-strong);color:var(--text-2);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;display:inline-block}.tags{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.spot{isolation:isolate;position:relative}.spot:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%);opacity:0;transition:opacity var(--dur) linear;position:absolute;inset:0}.spot:before{--c:var(--accent);--p:var(--space-2);content:"";z-index:1;pointer-events:none;background:linear-gradient(var(--c), var(--c)) top left / var(--p) var(--p) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--p) var(--p) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--p) var(--p) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--p) var(--p) no-repeat;opacity:0;transition:opacity var(--dur-fast) steps(2);position:absolute;inset:0}@media (hover:hover){.spot:hover:after,.spot:hover:before{opacity:1}}@media (pointer:coarse){:root{--tap:48px}}.js .reveal .h-section{clip-path:inset(0 100% 0 0)}.js .reveal.is-in .h-section{clip-path:inset(0);transition:clip-path var(--dur-slow) steps(12) var(--dur)}.js .reveal{opacity:0;transform:translateY(var(--space-3))}.js .reveal.is-in{opacity:1;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transform:none}.js .cells>.reveal{opacity:1;transform:none}.js .cells>.reveal>*{opacity:0;transform:translateY(var(--space-3))}.js .cells>.reveal.is-in>*{opacity:1;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .reveal.is-in,.js .cells>.reveal>*,.js .cells>.reveal.is-in>*{opacity:1;transition:none;transform:none}.js .reveal .h-section,.js .reveal.is-in .h-section{clip-path:none;transition:none}.spot:before,.spot:after{transition:none}.h-section:after,.cursor:after{animation:none}.btn,.btn .arrow,.text-link .arrow{transition:none}.btn:hover .arrow,.text-link:hover .arrow{transform:none}}.js .build[data-astro-cid-n22k7olv] .px[data-astro-cid-n22k7olv]{opacity:0}.js .is-in .build[data-astro-cid-n22k7olv] .px[data-astro-cid-n22k7olv]{opacity:1;transition:opacity 0s linear calc(var(--i) * 12ms + .15s)}@media (prefers-reduced-motion:reduce){.js .build[data-astro-cid-n22k7olv] .px[data-astro-cid-n22k7olv]{opacity:1;transition:none}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{height:var(--header-h);padding-inline:var(--gutter);align-items:center;gap:24px;display:flex}@media (width>=768px){.bar[data-astro-cid-nen7h5rs]{padding-inline:var(--pad)}}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3);min-height:var(--tap);font-size:var(--text-sm);white-space:nowrap;text-decoration:none;display:inline-flex}.nav[data-astro-cid-nen7h5rs]{margin-left:auto}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:28px;list-style:none;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding-block:8px;font-size:.75rem;text-decoration:none;display:block}@media (hover:hover){.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text)}}.actions[data-astro-cid-nen7h5rs]{gap:var(--space-2);display:flex}.icon-btn[data-astro-cid-nen7h5rs]{width:var(--tap);height:var(--tap);border:1px solid var(--line-strong);color:var(--text);cursor:pointer;background:0 0;place-items:center;padding:0;display:inline-grid}@media (hover:hover){.icon-btn[data-astro-cid-nen7h5rs]:hover{border-color:var(--text)}}.progress[data-astro-cid-nen7h5rs]{pointer-events:none;height:3px;position:absolute;bottom:-1px;left:0;right:0}.progress[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:repeating-linear-gradient(to right, var(--accent) 0 8px, transparent 8px 12px);transform-origin:0;height:100%;display:block;transform:scaleX(0)}html:not(.js) .progress[data-astro-cid-nen7h5rs],.menu-btn[data-astro-cid-nen7h5rs]{display:none}@media (width<=767px){.actions[data-astro-cid-nen7h5rs]{margin-left:auto}.js .menu-btn[data-astro-cid-nen7h5rs]{display:inline-grid}.js .nav[data-astro-cid-nen7h5rs]{background:var(--bg);border-bottom:1px solid var(--line);display:none;position:absolute;top:100%;left:0;right:0}.js .nav[data-astro-cid-nen7h5rs][data-open=true]{display:block}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{padding:8px var(--gutter) 16px;flex-direction:column;gap:0}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:var(--space-4) 0;font-size:var(--text-sm);border-bottom:1px solid var(--line)}.brand[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{font-size:.875rem}html:not(.js) .nav[data-astro-cid-nen7h5rs]{display:none}}.dissolve[data-astro-cid-yvxlzmpy]{width:100%;height:40px;fill:var(--accent);opacity:.35;display:block}.site-footer[data-astro-cid-jo6i4kqk],.bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line)}.row[data-astro-cid-jo6i4kqk]{gap:var(--space-3) var(--space-6);padding:var(--space-6) var(--gutter);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}@media (width>=768px){.row[data-astro-cid-jo6i4kqk]{padding-inline:var(--pad)}}p[data-astro-cid-jo6i4kqk]{color:var(--muted);margin:0}.top-link[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-2);min-height:var(--tap);color:var(--muted);text-decoration:none;display:inline-flex}@media (hover:hover){.top-link[data-astro-cid-jo6i4kqk]:hover{color:var(--text)}}.pixel-field[data-astro-cid-cn3we37c]{right:var(--pad);bottom:var(--pad);fill:var(--accent);display:none;position:absolute}@media (width>=900px){.pixel-field[data-astro-cid-cn3we37c]{display:block}}.tw[data-astro-cid-cn3we37c]{animation:8s step-end infinite twinkle}@keyframes twinkle{0%,90%,to{fill-opacity:var(--o)}92%,96%{fill-opacity:1}94%{fill-opacity:.1}}@media (prefers-reduced-motion:reduce){.tw[data-astro-cid-cn3we37c]{animation:none}}.px-text[data-astro-cid-pwedh5b2]{vertical-align:middle;display:inline-flex}.px-text[data-astro-cid-pwedh5b2] svg[data-astro-cid-pwedh5b2]{display:block}
