@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-300.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono-400.woff2) format("woff2");font-weight:400;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--bg: #09080a;--bg-vignette: rgba(4, 3, 5, .55);--particle: 200;--cta-color: rgba(232, 220, 200, .95);--cta-hover: #e8dcc8;--hint-color: rgba(232, 220, 200, .28);--underline: rgba(232, 220, 200, .6);--panel-bg: rgba(12, 10, 9, .92);--panel-border: rgba(232, 220, 200, .1);--panel-text: rgba(232, 220, 200, .5);--panel-heading: rgba(232, 220, 200, .6);--panel-label: rgba(232, 220, 200, .45);--panel-accent: rgba(249, 168, 0, .8);--panel-toggle-bg: rgba(232, 220, 200, .12);--panel-toggle-on: rgba(249, 168, 0, .5);--panel-toggle-knob: rgba(232, 220, 200, .7);--ink: #0b0b0c;--ink-raised: #121214;--fg: #ede7dc;--fg-2: rgba(237, 231, 220, .68);--fg-3: rgba(237, 231, 220, .46);--line: rgba(237, 231, 220, .12);--paper: #f4f1ec;--paper-ink: #171513;--slate: #2f3338;--amber: #f9a800;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--gutter: clamp(20px, 4.2vw, 64px);--maxw: 1520px}:root.light{--bg: #f4f1ec;--bg-vignette: rgba(220, 215, 205, .45);--particle: 30;--cta-color: rgba(30, 26, 22, .88);--cta-hover: #1e1a16;--hint-color: rgba(30, 26, 22, .32);--underline: rgba(30, 26, 22, .5);--panel-bg: rgba(245, 241, 234, .9);--panel-border: rgba(30, 26, 22, .16);--panel-text: rgba(30, 26, 22, .62);--panel-heading: rgba(30, 26, 22, .8);--panel-label: rgba(30, 26, 22, .62);--panel-accent: rgba(194, 129, 0, .85);--panel-toggle-bg: rgba(30, 26, 22, .16);--panel-toggle-on: rgba(194, 129, 0, .52);--panel-toggle-knob: rgba(30, 26, 22, .7)}.theme-paper{--fg: #171513;--fg-2: rgba(23, 21, 19, .68);--fg-3: rgba(23, 21, 19, .52);--line: rgba(23, 21, 19, .12);--ink-raised: #ece8e1;color:var(--fg)}.theme-slate{--fg: #efece6;--fg-2: rgba(239, 236, 230, .74);--fg-3: rgba(239, 236, 230, .55);--line: rgba(239, 236, 230, .13);--ink-raised: #353a40;color:var(--fg)}html.work-theme{--bg: #2f3338;--bg-vignette: rgba(22, 24, 27, .5);--particle: 175;--cta-color: rgba(238, 238, 236, .9);--cta-hover: rgba(255, 255, 255, .98);--hint-color: rgba(238, 238, 236, .38);--underline: rgba(238, 238, 236, .55);--panel-bg: rgba(30, 33, 37, .94);--panel-border: rgba(238, 238, 236, .1);--panel-text: rgba(238, 238, 236, .5);--panel-heading: rgba(238, 238, 236, .65);--panel-label: rgba(238, 238, 236, .45);--panel-accent: rgba(249, 168, 0, .8);--panel-toggle-bg: rgba(238, 238, 236, .12);--panel-toggle-on: rgba(249, 168, 0, .5);--panel-toggle-knob: rgba(238, 238, 236, .7)}body{background:var(--bg);color:var(--cta-color);color-scheme:dark;font-family:Satoshi,sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background 2s ease}a:focus-visible,button:focus-visible{outline:2px solid var(--panel-accent);outline-offset:2px}::selection{background:#f9a80052}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.label{font-family:Roboto Mono,monospace;font-weight:400;font-size:.72rem;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.display{font-weight:300;font-size:clamp(2.6rem,6.4vw,6.8rem);line-height:.98;letter-spacing:-.047em;color:var(--fg)}.mask{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.mask>span{display:block}.arrow-link{position:relative;display:inline-flex;align-items:center;gap:.6rem;width:fit-content;padding:.45rem 0;color:var(--fg);font-size:1rem;text-decoration:none}.arrow-link:after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:1px;background:currentColor;opacity:.35}.arrow-link:hover:after,.arrow-link:focus-visible:after{animation:underline-sweep .9s var(--ease-out)}.arrow-link svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .6s var(--ease-out)}.arrow-link:hover svg,.arrow-link:focus-visible svg{transform:translate(4px)}@keyframes underline-sweep{0%{transform:scaleX(1);transform-origin:right}45%{transform:scaleX(0);transform-origin:right}46%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}html.js [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1s var(--ease-out) var(--d, 0ms),transform 1.3s var(--ease-out) var(--d, 0ms)}html.js [data-reveal].is-in,html.js [data-reveal=mask]{opacity:1;transform:none}html.js [data-reveal=mask] .mask>span{transform:translate3d(0,108%,0);transition:transform 1.3s var(--ease-out);transition-delay:calc(var(--d, 0ms) + var(--mi, 0) * 80ms)}html.js [data-reveal=mask] .mask:nth-child(2)>span{--mi: 1}html.js [data-reveal=mask] .mask:nth-child(3)>span{--mi: 2}html.js [data-reveal=mask].is-in .mask>span{transform:none}html.js [data-reveal=word]{opacity:1;transform:none}html.js [data-reveal=word]>span{transform:translate3d(0,40%,0);opacity:0;transition:transform 1.6s var(--ease-out),opacity 1.2s var(--ease-out)}html.js [data-reveal=word].is-in>span{transform:none;opacity:1}@media(prefers-reduced-motion:reduce){html.js [data-reveal],html.js [data-reveal=mask] .mask>span,html.js [data-reveal=word]>span{opacity:1;transform:none;transition:none}.arrow-link:hover:after,.arrow-link:focus-visible:after{animation:none}}:root.light body{color-scheme:light}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}.nav[data-astro-cid-yikpzsy5]{--nav-fg: var(--fg);--nav-fg-2: var(--fg-2);--nav-pill: rgba(237, 231, 220, .1);--nav-solid: color-mix(in srgb, var(--ink) 72%, transparent);--nav-rule: var(--line);position:fixed;inset:0 0 auto;z-index:60;color:var(--nav-fg);transition:transform .7s var(--ease-out),color .4s ease}.nav[data-astro-cid-yikpzsy5][data-theme=paper],html.preview-paper .nav[data-astro-cid-yikpzsy5]{--nav-fg: var(--paper-ink);--nav-fg-2: rgba(23, 21, 19, .62);--nav-pill: rgba(23, 21, 19, .07);--nav-solid: color-mix(in srgb, var(--paper) 78%, transparent);--nav-rule: rgba(23, 21, 19, .1)}.nav[data-astro-cid-yikpzsy5]:before{content:"";position:absolute;inset:0;background:var(--nav-solid);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--nav-rule);opacity:0;transition:opacity .4s ease}.nav.is-solid:before{opacity:1}.nav.is-hidden{transform:translateY(-100%)}.nav-inner[data-astro-cid-yikpzsy5]{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}.nav-mark[data-astro-cid-yikpzsy5]{display:inline-flex;align-items:center;gap:.8rem;width:fit-content;color:inherit;text-decoration:none}.nav-mark[data-astro-cid-yikpzsy5] svg[data-astro-cid-yikpzsy5]{width:26px;height:auto;fill:currentColor;flex:none;transition:transform .6s var(--ease-out)}.nav-mark[data-astro-cid-yikpzsy5]:hover svg[data-astro-cid-yikpzsy5]{transform:scaleX(1.12)}.nav-name[data-astro-cid-yikpzsy5]{font-size:.95rem;letter-spacing:-.005em;white-space:nowrap;opacity:var(--name-in, 1);transform:translate(calc((1 - var(--name-in, 1)) * -6px))}.nav-links[data-astro-cid-yikpzsy5]{position:relative;display:flex;gap:.15rem;padding:.25rem;border-radius:999px}.nav-pill[data-astro-cid-yikpzsy5]{position:absolute;top:.25rem;bottom:.25rem;left:0;width:var(--pw, 0px);transform:translate(var(--px, 0px));border-radius:999px;background:var(--nav-pill);opacity:0;transition:transform .52s var(--ease-out),width .52s var(--ease-out),opacity .28s ease,background-color .4s ease;pointer-events:none}.nav-links.has-pill .nav-pill[data-astro-cid-yikpzsy5]{opacity:1}.nav-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]{position:relative;z-index:1;display:block;padding:.5rem .95rem;border-radius:999px;color:var(--nav-fg-2);text-decoration:none;font-size:.95rem;line-height:1.3;transition:color .3s ease}.nav-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]:hover,.nav-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]:focus-visible,.nav-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5].is-current{color:var(--nav-fg)}.nav-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]:focus-visible{outline-offset:0}.nav-clock[data-astro-cid-yikpzsy5]{justify-self:end;display:flex;gap:.6rem;font-family:Roboto Mono,monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--nav-fg-2);font-variant-numeric:tabular-nums}.nav-clock[data-astro-cid-yikpzsy5] time[data-astro-cid-yikpzsy5]{color:var(--nav-fg)}.nav-menu[data-astro-cid-yikpzsy5]{display:none;justify-self:end;position:relative;z-index:2;padding:.7rem 0 .7rem 1rem;margin-right:-.2rem;background:none;border:0;color:inherit;font:inherit;font-size:.95rem;cursor:pointer}.menu[data-astro-cid-yikpzsy5]{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:space-between;padding:112px var(--gutter) max(28px,env(safe-area-inset-bottom));background:var(--ink);color:var(--fg);clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease-out)}.menu[data-astro-cid-yikpzsy5][hidden]{display:none}.menu.is-open{clip-path:inset(0 0 0 0)}.menu-links[data-astro-cid-yikpzsy5]{display:flex;flex-direction:column;gap:.35rem}.menu-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]{display:flex;align-items:center;gap:.9rem;color:inherit;text-decoration:none;font-size:clamp(2.3rem,11vw,3.6rem);letter-spacing:-.035em;line-height:1.12;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(.12s + var(--i) * 55ms)}.menu-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5].is-current:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}.menu.is-open .menu-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]{opacity:1;transform:none}.menu-foot[data-astro-cid-yikpzsy5]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1.2rem;border-top:1px solid var(--line);font-family:Roboto Mono,monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);font-variant-numeric:tabular-nums}.menu-foot[data-astro-cid-yikpzsy5] time[data-astro-cid-yikpzsy5]{color:var(--fg);margin-left:.5rem}.menu-foot[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5]{color:var(--fg);text-decoration:none;padding:.5rem 0}@media(max-width:860px){.nav-inner[data-astro-cid-yikpzsy5]{grid-template-columns:1fr auto;height:64px}.nav-links[data-astro-cid-yikpzsy5],.nav-clock[data-astro-cid-yikpzsy5]{display:none}.nav-menu[data-astro-cid-yikpzsy5]{display:block}html.menu-open .nav[data-astro-cid-yikpzsy5]{--nav-fg: var(--fg)}html.menu-open .nav[data-astro-cid-yikpzsy5]:before{opacity:0}}@media(prefers-reduced-motion:reduce){.nav[data-astro-cid-yikpzsy5],.menu[data-astro-cid-yikpzsy5],.menu-links[data-astro-cid-yikpzsy5] a[data-astro-cid-yikpzsy5],.nav-pill[data-astro-cid-yikpzsy5]{transition:none}}.foot[data-astro-cid-cmhnwpac]{position:relative;z-index:2;padding-top:clamp(72px,9vw,130px);background:var(--ink);color:var(--fg);border-top:1px solid var(--line);overflow:hidden}.foot-grid[data-astro-cid-cmhnwpac]{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px clamp(24px,3vw,56px)}.foot-lead[data-astro-cid-cmhnwpac] p[data-astro-cid-cmhnwpac]{max-width:26ch;font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.25;letter-spacing:-.02em;color:var(--fg)}.foot-col[data-astro-cid-cmhnwpac] .label[data-astro-cid-cmhnwpac]{margin-bottom:1.2rem}.foot-col[data-astro-cid-cmhnwpac] ul[data-astro-cid-cmhnwpac]{list-style:none;display:flex;flex-direction:column;gap:.55rem}.foot-col[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]{display:inline-block;color:var(--fg-2);text-decoration:none;font-size:1rem;padding:.15rem 0;transition:color .3s ease}.foot-col[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]:hover,.foot-col[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]:focus-visible{color:var(--fg)}.foot-col[data-astro-cid-cmhnwpac] svg[data-astro-cid-cmhnwpac]{display:inline-block;width:12px;height:12px;margin-left:.3rem;vertical-align:.02em;fill:none;stroke:currentColor;stroke-width:1.6;opacity:.6;transition:transform .4s var(--ease-out)}.foot-col[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]:hover svg[data-astro-cid-cmhnwpac]{transform:translate(2px,-2px)}.foot-local[data-astro-cid-cmhnwpac] li[data-astro-cid-cmhnwpac]{display:flex;flex-wrap:wrap;column-gap:.5rem;font-size:1rem;color:var(--fg);font-variant-numeric:tabular-nums}.foot-local[data-astro-cid-cmhnwpac] li[data-astro-cid-cmhnwpac]>[data-astro-cid-cmhnwpac]{white-space:nowrap}.foot-local[data-astro-cid-cmhnwpac] li[data-astro-cid-cmhnwpac]>[data-astro-cid-cmhnwpac]:first-child{color:var(--fg-2)}.foot-word[data-astro-cid-cmhnwpac]{margin:clamp(64px,9vw,140px) 0 0;padding:0 calc(var(--gutter) * .5);font-size:14.2vw;line-height:.86;letter-spacing:-.06em;white-space:nowrap;color:var(--fg);text-align:center;user-select:none}.foot-word[data-astro-cid-cmhnwpac] span[data-astro-cid-cmhnwpac]{display:inline-block;background:linear-gradient(to bottom,var(--fg) 30%,rgba(237,231,220,.18));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.16em}.foot-bar[data-astro-cid-cmhnwpac]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.4rem;padding-bottom:max(1.6rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);font-family:Roboto Mono,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.foot-bar[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 0;color:var(--fg-2);text-decoration:none;transition:color .3s ease}.foot-bar[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]:hover,.foot-bar[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]:focus-visible{color:var(--fg)}.foot-bar[data-astro-cid-cmhnwpac] svg[data-astro-cid-cmhnwpac]{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .5s var(--ease-out)}.foot-bar[data-astro-cid-cmhnwpac] a[data-astro-cid-cmhnwpac]:hover svg[data-astro-cid-cmhnwpac]{transform:translateY(-3px)}@media(max-width:1000px){.foot-grid[data-astro-cid-cmhnwpac]{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-lead[data-astro-cid-cmhnwpac]{grid-column:1 / -1}}@media(max-width:600px){.foot-grid[data-astro-cid-cmhnwpac]{grid-template-columns:repeat(2,minmax(0,1fr))}}.skip-link{position:fixed;top:-3rem;left:.75rem;z-index:3200;background:var(--panel-bg);color:var(--cta-color);border:1px solid var(--panel-border);border-radius:6px;padding:.4rem .65rem;text-decoration:none;font-size:.75rem}.skip-link:focus-visible{top:.75rem;outline:2px solid var(--panel-accent);outline-offset:2px}
