.foot[data-v-7bece452]{border-radius:var(--c-radius-poster);background:var(--poster-bg);color:var(--poster-fg);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem clamp(1.5rem,4vw,4rem);margin:clamp(3rem,8vw,6rem) 6px 6px;padding:clamp(1.5rem,4vw,3.5rem);display:grid}.foot__lead[data-v-7bece452]{flex-direction:column;align-items:flex-start;gap:1.1rem;display:flex}.foot__title[data-v-7bece452]{letter-spacing:-.055em;font-size:clamp(2.4rem,6vw,5.5rem);font-weight:900;line-height:.92}.foot__body[data-v-7bece452]{max-width:34rem;font-size:1.125rem;line-height:1.5}.foot__cta[data-v-7bece452]{border-radius:var(--c-radius-small);background:var(--c-ink);color:#fff;min-height:2.75rem;transition:background-color .15s var(--c-ease);align-items:center;gap:.5rem;padding-inline:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.foot__cta[data-v-7bece452]:hover{background:var(--c-cobalt)}.foot__cta svg[data-v-7bece452]{width:1rem;height:1rem}.foot__details[data-v-7bece452]{border-block-start:2px solid var(--c-ink);align-self:end}.foot__row[data-v-7bece452]{border-block-end:1px solid #151a3340;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding-block:.75rem;display:grid}.foot__row dt[data-v-7bece452]{font-size:.875rem;font-weight:800}.foot__row a[data-v-7bece452]{color:inherit;text-underline-offset:.2em;font-weight:700}.foot__base[data-v-7bece452]{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:.5rem 1.5rem;font-size:.875rem;display:flex}.foot__socials[data-v-7bece452]{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.foot__socials a[data-v-7bece452]{color:inherit;text-underline-offset:.2em;font-weight:700}@media (max-width:48rem){.foot[data-v-7bece452]{grid-template-columns:minmax(0,1fr)}}.topbar[data-v-856ed4f6]{z-index:2;min-height:var(--c-topbar-height);align-items:center;gap:1.5rem;padding-inline:clamp(1rem,3vw,2.5rem);display:flex;position:relative}.topbar__brand[data-v-856ed4f6]{letter-spacing:-.03em;color:var(--c-text);font-size:1.125rem;font-weight:800;text-decoration:none}.topbar__nav[data-v-856ed4f6]{align-self:stretch;gap:.25rem;margin-inline-end:auto;display:flex}.topbar__link[data-v-856ed4f6]{border-radius:var(--c-radius-small);color:var(--c-muted);transition:color .15s var(--c-ease);align-items:center;padding:.375rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex;position:relative}.topbar__link[data-v-856ed4f6]:hover{color:var(--c-text)}.topbar__link.topbar__link--current[data-v-856ed4f6]{color:var(--c-text);font-weight:700}.topbar__link.topbar__link--current[data-v-856ed4f6]:not(.topbar__link--tab):after{content:"";background:var(--c-accent);height:3px;position:absolute;inset-block-end:0;inset-inline:.75rem}.topbar__link.topbar__link--tab[data-v-856ed4f6]{z-index:1;border-radius:var(--c-radius-poster) var(--c-radius-poster) 0 0;background:var(--poster-bg);color:var(--poster-fg);padding-inline:1.1rem}.topbar__link--tab[data-v-856ed4f6]:before,.topbar__link--tab[data-v-856ed4f6]:after{content:"";width:var(--c-radius-poster);height:var(--c-radius-poster);position:absolute;bottom:0}.topbar__link--tab[data-v-856ed4f6]:before{background:radial-gradient(circle at 0 0, transparent var(--c-radius-poster), var(--poster-bg) calc(var(--c-radius-poster) + .5px));right:100%}.topbar__link--tab[data-v-856ed4f6]:after{background:radial-gradient(circle at 100% 0, transparent var(--c-radius-poster), var(--poster-bg) calc(var(--c-radius-poster) + .5px));left:100%}.topbar__actions[data-v-856ed4f6]{align-items:center;gap:.5rem;display:flex}.topbar__theme[data-v-856ed4f6]{border-radius:var(--c-radius-small);width:2.25rem;height:2.25rem;color:var(--c-muted);cursor:pointer;transition:color .15s var(--c-ease);background:0 0;border:0;place-items:center;padding:0;display:grid}.topbar__theme[data-v-856ed4f6]:hover{color:var(--c-text)}.topbar__theme svg[data-v-856ed4f6]{width:1rem;height:1rem;animation:icon-in-856ed4f6 .45s var(--c-ease)}@keyframes icon-in-856ed4f6{0%{opacity:0;rotate:-90deg;scale:.4}}.topbar__cta[data-v-856ed4f6]{border-radius:var(--c-radius-small);background:var(--c-accent);min-height:2.25rem;color:var(--c-accent-ink);white-space:nowrap;transition:filter .15s var(--c-ease);align-items:center;gap:.375rem;padding-inline:1rem;font-size:.9375rem;font-weight:650;text-decoration:none;display:inline-flex}.topbar__cta[data-v-856ed4f6]:hover{filter:brightness(1.12)}.topbar__cta svg[data-v-856ed4f6]{width:1rem;height:1rem}@media (max-width:48rem){.topbar[data-v-856ed4f6]{flex-wrap:wrap;gap:.5rem 1rem;padding-block:.5rem 0}.topbar__nav[data-v-856ed4f6]{flex-basis:100%;order:3;margin-inline-end:0;padding-inline:.625rem;overflow-x:auto}.topbar__actions[data-v-856ed4f6]{margin-inline-start:auto}}@media (max-width:30rem){.topbar__cta[data-v-856ed4f6]{padding-inline:.75rem;font-size:.875rem}}.route[data-v-1e7069b3]{flex-direction:column;flex:1;display:flex}.curtain[data-v-1e7069b3]{z-index:90;visibility:hidden;pointer-events:none;position:fixed;inset:0;overflow:hidden}.curtain__bar[data-v-1e7069b3]{width:150%;position:absolute;top:-10%;bottom:-10%;left:-25%}.curtain__bar--azure[data-v-1e7069b3]{background:var(--c-azure)}.curtain__bar--yellow[data-v-1e7069b3]{background:var(--c-yellow)}.curtain__bar--cobalt[data-v-1e7069b3]{background:var(--c-cobalt)}.wall[data-v-79d44037]{flex:1;gap:6px;min-height:34rem;padding:0 6px 6px;display:flex}.poster[data-v-79d44037]{background:var(--poster-bg);min-width:0;color:var(--poster-fg);transition:flex-grow .65s var(--c-ease);border-radius:10px;flex:1 1 0;position:relative;overflow:hidden}.poster.is-open[data-v-79d44037]{flex-grow:5}.poster__tab[data-v-79d44037]{z-index:3;max-height:calc(100% - 2.4rem);color:inherit;font:inherit;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;writing-mode:vertical-rl;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:800;position:absolute;top:1.2rem;left:1.1rem;transform:rotate(180deg)}.poster__art[data-v-79d44037]{letter-spacing:-.06em;white-space:nowrap;color:var(--poster-art);-webkit-text-stroke:3px var(--poster-art-stroke);transition:font-size .65s var(--c-ease);font-size:min(9vw,8.5rem);font-weight:900;line-height:.85;position:absolute;top:3rem;left:3.4rem}.poster.is-open .poster__art[data-v-79d44037]{font-size:min(15vw,15rem)}.poster__text[data-v-79d44037]{opacity:0;width:min(34rem,100% - 4.8rem);min-width:20rem;transition:opacity .3s var(--c-ease), transform .3s var(--c-ease);position:absolute;bottom:1.4rem;left:3.4rem;transform:translateY(10px)}.poster.is-open .poster__text[data-v-79d44037]{opacity:1;transition-delay:.25s;transform:none}.project__title[data-v-79d44037]{letter-spacing:-.04em;margin:0 0 .5rem;font-size:2rem;font-weight:900;line-height:1}.project__body[data-v-79d44037]{margin:0 0 1rem;font-size:1.0625rem;line-height:1.45}.project__note[data-v-79d44037]{font-size:.9375rem;font-weight:800}.project__link[data-v-79d44037]{color:inherit;text-underline-offset:.25em;font-size:.9375rem;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.poster--me[data-v-79d44037]{background:var(--c-yellow);color:#f4f2ec}.poster__photo[data-v-79d44037]{object-fit:cover;object-position:55% 10%;width:100%;height:100%;position:absolute;inset:0}.poster--me[data-v-79d44037]:after{content:"";pointer-events:none;background:linear-gradient(0deg,#0e1325f0 0,#0e132599 36%,#0000 64%);position:absolute;inset:0}.poster--me .poster__tab[data-v-79d44037]{opacity:0}.poster--me .poster__tab[data-v-79d44037]:focus-visible{opacity:1;background:var(--c-yellow);color:var(--c-ink);border-radius:4px;padding:.5rem .3rem}.poster--me .poster__text[data-v-79d44037]{z-index:2;width:min(40rem,100% - 3rem);min-width:24rem;left:clamp(1.4rem,3vw,2.5rem)}.me__name[data-v-79d44037]{letter-spacing:-.05em;margin:0;font-size:clamp(3rem,6.6vw,7rem);font-weight:900;line-height:.9}.me__role[data-v-79d44037]{color:#d6d9e8;letter-spacing:-.02em;margin:.6rem 0 .5rem;font-size:clamp(1.25rem,2.2vw,1.9rem);font-weight:500}.me__lede[data-v-79d44037]{color:#eceef6;max-width:34rem;margin:0 0 1rem;font-size:1.125rem;line-height:1.5}.me__links[data-v-79d44037]{color:#c9cde0;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;font-size:.875rem;display:flex}.me__socials[data-v-79d44037]{flex-wrap:wrap;gap:.2rem 1rem;margin:0;padding:0;list-style:none;display:flex}.me__socials a[data-v-79d44037]{color:#fff;text-underline-offset:.2em;font-weight:700}.poster[data-v-79d44037] :focus-visible{outline-color:currentColor}.poster--me[data-v-79d44037] :focus-visible{outline-color:var(--c-yellow)}@media (max-width:48rem){.wall[data-v-79d44037]{flex-direction:column;min-height:0}.poster[data-v-79d44037]{transition:flex-basis .5s var(--c-ease);flex:0 0 4.25rem}.poster.is-open[data-v-79d44037]{flex-basis:33rem}.poster--me.is-open[data-v-79d44037]{flex-basis:38rem}.poster__tab[data-v-79d44037]{writing-mode:horizontal-tb;max-height:none;top:1.35rem;transform:none}.poster__art[data-v-79d44037]{font-size:3rem;top:.55rem;left:auto;right:1rem}.poster.is-open .poster__art[data-v-79d44037]{font-size:min(26vw,7rem);top:3.5rem;left:1.2rem;right:auto}.poster__text[data-v-79d44037],.poster--me .poster__text[data-v-79d44037]{width:calc(100% - 2.4rem);min-width:0;left:1.2rem}.me__name[data-v-79d44037]{font-size:3rem}}@media (prefers-reduced-motion:reduce){.poster[data-v-79d44037],.poster__text[data-v-79d44037],.poster__art[data-v-79d44037]{transition:none}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#0e1325;margin:0}.c-root{--c-font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--c-font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--c-radius-small:.375rem;--c-radius-poster:10px;--c-topbar-height:3.5rem;--c-page-max:72rem;--c-reading-max:42rem;--c-yellow:#e1d571;--c-cobalt:#536fc2;--c-azure:#3e84da;--c-ink:#151a33;--c-poster-paper:#f7f5ee;--c-ease:cubic-bezier(.2, 0, 0, 1);background:var(--c-bg);min-height:100dvh;color:var(--c-text);font-family:var(--c-font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:1rem;line-height:1.5;display:flex}.c-root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg:#e8e3d6;--c-line:#cfc8b6;--c-text:#151a33;--c-muted:#4d5370;--c-accent:#2f4a9e;--c-accent-ink:#fff;--c-link:#2f4a9e;--c-code-bg:#d9d3c2}.c-root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0e1325;--c-line:#283152;--c-text:#f2f0e8;--c-muted:#a6adc6;--c-accent:#e1d571;--c-accent-ink:#151a33;--c-link:#9db1f2;--c-code-bg:#1b2243}.c-root :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}.c-root :where(h1,h2,h3,h4){color:inherit;font-family:inherit}.c-root :where(ul,ol){padding:0;list-style:none}.c-root :where(img){max-width:100%;display:block}.c-root :where(svg){flex:none}.c-root :focus-visible{outline:2px solid var(--c-link);outline-offset:2px}.c-root ::selection{background:var(--c-yellow);color:var(--c-ink)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.c-main{flex-direction:column;flex:1;display:flex}.c-main:focus{outline:none}.skip-link{z-index:100;border-radius:var(--c-radius-small);background:var(--c-yellow);color:var(--c-ink);padding:.5rem 1rem;font-weight:700;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tone--cobalt{--poster-bg:var(--c-cobalt);--poster-fg:#fff;--poster-art:var(--c-yellow);--poster-art-stroke:var(--c-ink)}.tone--yellow{--poster-bg:var(--c-yellow);--poster-fg:var(--c-ink);--poster-art:var(--c-cobalt);--poster-art-stroke:transparent}.tone--azure{--poster-bg:var(--c-azure);--poster-fg:var(--c-ink);--poster-art:#fff;--poster-art-stroke:transparent}.tone--paper{--poster-bg:var(--c-poster-paper);--poster-fg:var(--c-ink);--poster-art:var(--c-ink);--poster-art-stroke:transparent}.page{width:100%;max-width:var(--c-page-max);margin-inline:auto;padding-inline:clamp(1rem,3vw,2.5rem)}.section{padding-block-start:clamp(2.5rem,6vw,4.5rem)}.section__title{letter-spacing:-.04em;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;line-height:1.05}.section__intro{max-width:60ch;color:var(--c-muted);margin-block-start:.5rem;font-size:1.0625rem}.section__body{margin-block-start:1.25rem}.btn{border-radius:var(--c-radius-small);min-height:2.75rem;color:var(--c-text);font:inherit;cursor:pointer;transition:background-color .15s var(--c-ease), color .15s var(--c-ease), border-color .15s var(--c-ease);background:0 0;border:1.5px solid;align-items:center;gap:.5rem;padding-inline:1.125rem;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.btn svg{width:1rem;height:1rem}.btn:hover{background:var(--c-text);border-color:var(--c-text);color:var(--c-bg)}.btn--solid{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-ink)}.btn--solid:hover{background:var(--c-text);border-color:var(--c-text);color:var(--c-bg)}.btn-group{flex-wrap:wrap;gap:.5rem;display:flex}.link{color:var(--c-link);text-underline-offset:.2em;font-weight:650;text-decoration:underline;text-decoration-thickness:2px}.link:hover{text-decoration-thickness:3px}.chip{border:1px solid var(--c-line);color:var(--c-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.125rem .625rem;font-size:.8125rem;font-weight:600;display:inline-flex}.code{background:var(--c-code-bg);font-family:var(--c-font-mono);white-space:nowrap;border-radius:4px;padding:.1em .45em;font-size:.9em}.rows{border-block-start:1.5px solid var(--c-text)}.rows>li+li{border-block-start:1px solid var(--c-line)}.prose{max-width:var(--c-reading-max);font-size:1.125rem;line-height:1.7}.prose>*+*{margin-block-start:1.25rem}.prose h2{letter-spacing:-.035em;margin-block-start:2.75rem;font-size:1.9rem;font-weight:900;line-height:1.1}.prose h3{letter-spacing:-.02em;margin-block-start:2rem;font-size:1.35rem;font-weight:800}.prose ul,.prose ol{padding-inline-start:1.4rem}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-block-start:.4rem}.prose a{color:var(--c-link);text-underline-offset:.2em;font-weight:600;text-decoration:underline}.prose strong{font-weight:800}.prose mark{background:var(--c-yellow);color:var(--c-ink);padding-inline:.2em}.react-overlay{pointer-events:none;position:absolute;inset:0}.react-letter{white-space:pre;display:block;position:absolute}[data-react-letters].is-react-active:has(>.react-overlay){color:#0000}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
