@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAWUAA4AAAAABvAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAABYAAAAWABEABEdQT1MAAAFcAAAAHgAAAB5EdEx1R1NVQgAAAXwAAAAnAAAAKLj8uOpPUy8yAAABpAAAAFUAAABgYo+sRGNtYXAAAAH8AAAAQgAAAFxB0OJbZ2FzcAAAAkAAAAAIAAAACAAAABBnbHlmAAACSAAAAT0AAAFaNhXKIGhlYWQAAAOIAAAANgAAADYqgLJdaGhlYQAAA8AAAAAfAAAAJBAY8MdobXR4AAAD4AAAABkAAAAiEYUB02xvY2EAAAP8AAAAFAAAABQBUAHKbWF4cAAABBAAAAAcAAAAIAAjAQBuYW1lAAAELAAAARoAAAJuNApRAXBvc3QAAAVIAAAASwAAAF2B645zAAEAAAAMAAAAAAAAAAIAAQABAAMAAQAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB42mNgZGBg4GJQA0ImFzefEAahnMSSPAY+BhBgARH//4NIAFpJBVUAeNotxbENQEAYhuH3/87hwhA3g1KvEANQGcAoKolJJKLR2AwJT/OQaLIFD5o1AN23jVRWgwofnF4JkAHi1zctXMS4u+NOwW0WIrYCqNQJRPIH7S0K2QAAAHjaY2BgYAJiZiAWAZKMYJqFwQNI8zFwAOXYGBQYHBkWMBxkZFLY8v8/UByF///J/wP/U/87/me8HwTUjQIAZb8SQgAAAAEAAf//AA942mJgAvQ4zXARx1H8vd8x2zx8riX/lW3btt2SzS3M7VN7t4Qte7q2ptx++sVnvy9UABBHogURyAAUCgcFUiWOxjTcMzbhnHGKaA2NZJ5O+tLJHDopA0s6GaCSqZwYJ2RE+Bz3GdfwMKozLh81XV3R+VT0wwyT6WdDtEk0gAB0T2Yywu5/ff2/Lqe1XfrB2/RG8sgJuEAQgJOC51iNSimVqXieCXd1cZYxLoovlro4uzLhvMDYEpVSw7G8oPLGVceU6KR8cYF4vK12yLbUcE7CjS2WxRlpRViAsR3J/RNiaRoeeAcJybFcWXN7pUadlJHkqYpJT4yMLA/rrXbwswNAlJACvCePIKKJwMhQ0jC4TQq2tmgKO6QUT4gOrCg6hkIQGKmUItiJlhcXy6PFhYkJhUSXlJSWmAhmxutO9wAAAAABAAAAAQLRsUtkZV8PPPUADwPoAAAAAN9+te8AAAAA3362EvlE/vcTHAOxAAAABgACAAAAAAAAeNpjYGRgYN72n42BgSnrp8t7P2EZoAgq4AAAe9wE3gB42mPKYogAYjkkzADFMgwMjKwM8wFSaARoAAAAAAAAFQAuADoARgBGAEYAiACWAK142mNgZGBg4GTIZ2Bn6GfgAvMQgIOBEQAZTQEkeNqNkQVOREEQRB/uxIPEfgR3d3d3iKHr7rvhWpyCQ3AYKpN1T6emvbvSA7TjpImG5g7gt2E3bTcw2DCcthvpbehP201s8pe2mxnnJ2238Mhb2m5llOW03SsL3MQlYWKsMyOJYSOKR5G47GnBg186RBSX8jcccylE+ZQfwEFQlVfKB4Up7hVxkVDPJ1Ge5UXNDOWxmGOaWeYkG1hms5NPEtIh3HjMLItRkqZyVVgUVphiCbvwxVjJbiu73Sranr/thSPOpOtkXuRV3nkghPk2N3PhNrl5ZoV5WY+41WGV9E/lcb4lKu1Vxma698w93ObiMXON4j9y4TEVCb6YVleIgKIpTfCkX+X4JIgrz5rBWcIikGYx9g9ueGIvAAB42mNgYgCD/3MYjIAUIwM64ARiFYaTjEwMzIzMjCyMrIxsbI5JRallqeyleZkGBo4GINrIwMmEMzG5tCQ1OT83CSxjbGAGANg9D2UA)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-ext-400-normal.BbKYyvR9.woff2)format("woff2"),url(/_astro/fragment-mono-latin-ext-400-normal.CT4YFKeK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-400-normal.yxdJ5AmL.woff2)format("woff2"),url(/_astro/fragment-mono-latin-400-normal.BYwT3kSJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--bg:light-dark(#fafaf9,#171513);--ink:light-dark(#111,#f4f1ec);--text:light-dark(#292524,#e2ddd6);--text-soft:light-dark(#44403c,#cfc9c1);--muted:light-dark(#57534e,#a8a199);--hairline:light-dark(#e7e5e4,#2e2a26);--underline:light-dark(#a8a29e,#6e665e);--wash:light-dark(#f0eeeb,#26231f);--font-display:"Bricolage Grotesque Variable", system-ui, sans-serif;--font-body:"DM Sans Variable", system-ui, sans-serif;--font-mono:"Fragment Mono", ui-monospace, "SFMono-Regular", monospace;--content:1040px;--pad-x:24px;--pad-top:48px;--pad-bottom:56px;--block-gap:56px;--frame:light-dark(#d6d3ce,#423c37);--mat:light-dark(#edebe7,#211e1b);--shot-bg:light-dark(#fff,#211e1b);--card-dark:#1e1e1e;--card-frame:light-dark(#d6d3ce,#4a433d);--shot-shadow:0 1px 3px light-dark(#1c19171a,#00000073);--pill-bg:light-dark(#fff,#201d1a);--pill-border:light-dark(#d6d3d1,#423c37);--dot-progress:light-dark(#b45309,#f5a524);--dot-live:light-dark(#15803d,#4ade80)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (width>=900px){:root{--pad-x:48px;--pad-top:128px;--pad-bottom:112px;--block-gap:96px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-y:scroll}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.625}h1,h2,h3,p,ol,ul{margin:0}h1,h2{font-family:var(--font-display);color:var(--ink);font-weight:600}ol,ul{padding:0;list-style:none}a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px;text-decoration-thickness:1px}a:hover,a:focus-visible{text-decoration-color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:no-preference){a{transition:text-decoration-color .15s}}.label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.skip-link{z-index:1;background:var(--bg);border:1px solid var(--hairline);clip-path:inset(50%);padding:8px 12px;font-weight:500;position:absolute;top:12px;left:12px}.skip-link:focus-visible{clip-path:none}.page{gap:var(--block-gap);max-width:calc(var(--content) + 2 * var(--pad-x));padding:var(--pad-top) var(--pad-x) var(--pad-bottom);flex-direction:column;margin-inline:auto;display:flex}main{gap:var(--block-gap);flex-direction:column;display:flex}.masthead{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;display:flex}.masthead__id{align-items:baseline;gap:12px;line-height:22px;display:flex}.masthead__name{font-family:var(--font-display);letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:22px}.masthead__role{color:var(--muted);font-size:15px;line-height:18px;display:none}.masthead__nav ul{align-items:baseline;gap:20px;line-height:20px;display:flex}.masthead__nav a{color:var(--muted);font-size:15px;line-height:20px;text-decoration-color:#0000}.masthead__nav a:hover,.masthead__nav a:focus-visible{color:var(--ink);text-decoration-color:var(--underline)}.masthead__nav a[aria-current=page],.masthead__nav a[aria-current=true]{color:var(--ink);text-decoration-color:var(--underline);font-weight:500}.masthead__theme{align-self:center;height:20px}.theme-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin:-8px -9px -8px -4px;padding:0;display:flex}.theme-toggle:hover{background:var(--wash);color:var(--ink)}.theme-toggle:focus-visible{color:var(--ink);outline-offset:0;border-radius:8px}.theme-toggle svg{width:18px;height:18px}.theme-toggle__sun,:root[data-theme=dark] .theme-toggle__moon{display:none}:root[data-theme=dark] .theme-toggle__sun{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle__moon{display:none}:root:not([data-theme=light]) .theme-toggle__sun{display:block}}@media (prefers-reduced-motion:no-preference){.theme-toggle{transition:background-color .15s,color .15s}}@media (width>=900px){.masthead{padding-bottom:20px}.masthead__role{display:inline}}.intro,.notfound{flex-direction:column;gap:24px;max-width:600px;display:flex}.intro h1,.notfound h1{letter-spacing:-.025em;font-size:31px;line-height:38px}.intro__lede{color:var(--text);font-size:17px;line-height:28px}.links{flex-wrap:wrap;gap:8px 22px;padding-top:4px;font-size:16px;font-weight:500;line-height:20px;display:flex}@media (width>=900px){.intro,.notfound{gap:28px}.intro h1,.notfound h1{font-size:44px;line-height:50px}.intro__lede{font-size:18px;line-height:30px}.links{gap:8px 28px}}.section-title{letter-spacing:-.015em;font-size:24px;line-height:30px}.path{max-width:800px}.path__title{padding-bottom:20px}.path__row{border-top:1px solid var(--hairline);flex-direction:column;gap:6px;padding:20px 0 22px;display:flex}.path__row:last-child{border-bottom:1px solid var(--hairline)}.path__year{font-family:var(--font-mono);color:var(--muted);font-size:14px;line-height:18px}.path__year--current{color:var(--ink)}.path__content{flex-direction:column;gap:6px;display:flex}.path__content h3{color:var(--ink);font-size:17px;font-weight:500;line-height:26px}.path__content p{color:var(--text-soft);font-size:16px;line-height:26px}.home-projects{flex-direction:column;gap:16px;max-width:800px;display:flex}.home-projects__blurb{color:var(--text);font-size:17px;line-height:27px}.home-projects__more{padding-top:2px;font-size:16px;font-weight:500;line-height:20px}.contact{flex-direction:column;align-items:flex-start;gap:20px;max-width:600px;display:flex}.contact__email{font-family:var(--font-display);letter-spacing:-.02em;text-underline-offset:6px;font-size:26px;font-weight:600;line-height:32px;text-decoration-thickness:2px}.contact .label{line-height:16px}.contact .links{padding-top:0}.contact__credit{color:var(--muted);margin-top:28px;font-size:14px;line-height:18px}@media (width>=900px){.contact__email{font-size:32px;line-height:38px}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pill{background:var(--pill-bg);border:1px solid var(--pill-border);font-family:var(--font-mono);color:var(--text-soft);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:4px 11px 4px 9px;font-size:13px;line-height:16px;display:inline-flex}.pill__dot{background:var(--dot-progress);border-radius:50%;flex:none;width:7px;height:7px}.pill--live .pill__dot{background:var(--dot-live)}.media{overflow:hidden}.media__picture,.media__img{display:block}.media--mat{background:var(--mat);border:1px solid var(--frame);border-radius:8px;padding:10px}.media--mat .media__img{width:100%;height:auto;aspect-ratio:var(--ratio-phone);object-fit:var(--fit);object-position:var(--position);background:var(--shot-bg);border:1px solid var(--frame);box-shadow:var(--shot-shadow);border-radius:4px}.media--dark{aspect-ratio:var(--ratio-phone);background:var(--media-bg,var(--card-dark));border:1px solid var(--card-frame);border-radius:8px;justify-content:center;align-items:center;display:flex}.media--dark .media__picture{width:100%;height:100%}.media--dark .media__img{object-fit:var(--fit);object-position:var(--position);width:100%;height:100%}.media--dark.media--logo .media__picture{width:var(--logo-w-phone);height:auto}.media--dark.media--logo .media__img{height:auto}@media (width>=900px){.media--mat{padding:var(--pad,16px)}.media--mat .media__img,.media--dark{aspect-ratio:var(--ratio)}.media--dark.media--logo .media__picture{width:var(--logo-w)}}.page-intro{flex-direction:column;gap:20px;max-width:600px;display:flex}.page-intro h1,.detail-head h1{letter-spacing:-.03em;font-size:40px;line-height:44px}.page-intro__lede{color:var(--text);font-size:17px;line-height:28px}@media (width>=900px){.page--projects{--block-gap:88px}.page--detail{--block-gap:64px}.page-intro{gap:24px}.page-intro h1,.detail-head h1{font-size:56px;line-height:60px}.page-intro__lede{font-size:18px;line-height:30px}}.project-list{max-width:800px}.project-row{border-top:1px solid var(--hairline);flex-direction:column;gap:20px;padding:28px 0;display:flex}.project-row:first-child{border-top:0;padding-top:0}.project-row:last-child{border-bottom:1px solid var(--hairline)}.project-row__text{flex-direction:column;gap:10px;display:flex}.project-row__text h2{letter-spacing:-.015em;font-size:24px;line-height:30px}.project-row__summary{color:var(--text-soft);font-size:16px;line-height:26px}.project-row__link{padding-top:4px;font-size:16px;font-weight:500;line-height:20px}@media (width>=900px){.project-row{flex-direction:row;align-items:flex-start;gap:40px}.project-row__card{flex:none;width:300px}.project-row__text{width:460px;padding-top:4px}}.games{max-width:800px}.games__head{flex-direction:column;gap:8px;padding-bottom:28px;display:flex}.games__head p,.game__summary{color:var(--text-soft);font-size:16px;line-height:26px}.games__list{border-top:1px solid var(--hairline);flex-direction:column;gap:40px;padding-top:28px;display:flex}.game{flex-direction:column;gap:14px;display:flex}.game__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.game__head h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:26px}.game__link{font-family:var(--font-mono);font-size:14px;line-height:18px}@media (width>=900px){.games__list{grid-template-columns:repeat(2,388px);gap:24px;display:grid}}@media (width<=899.98px){.page--detail{--block-gap:44px}}.detail-hero{max-width:800px}.detail-head{flex-direction:column;gap:18px;max-width:640px;display:flex}.detail-head__back,.detail-nav{font-size:16px;font-weight:500;line-height:20px}.detail-head .pill{margin-top:16px}.detail-head__title{align-items:center;gap:14px;display:flex}.badge-tile{background:var(--card-dark);border:1px solid var(--card-frame);border-radius:11px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.badge-tile img{width:30px;height:30px;display:block}.detail-head__tagline{color:var(--text);font-size:18px;line-height:30px}.detail-about{flex-direction:column;gap:16px;max-width:800px;display:flex}.detail-about__body{flex-direction:column;gap:28px;display:flex}.detail-about__body>p{color:var(--text);font-size:18px;line-height:30px}.facts{flex-direction:column;gap:6px;margin:0;font-size:16px;line-height:26px;display:flex}.facts__row{flex-wrap:wrap;gap:0 6px;display:flex}.facts dt{color:var(--ink);font-weight:500}.facts dd{color:var(--text-soft);margin:0}.screens{flex-direction:column;gap:16px;max-width:800px;display:flex}.shot{flex-direction:column;gap:10px;margin:0;display:flex}.shot figcaption{font-family:var(--font-mono);color:var(--muted);font-size:13px;line-height:18px}.screens__pair{flex-direction:column;gap:28px;padding-top:12px;display:flex}.detail-nav{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;max-width:800px;padding-top:20px;display:flex}@media (width>=900px){.detail-head .pill{margin-top:24px}.detail-head__title{gap:18px}.badge-tile{border-radius:14px;width:60px;height:60px}.badge-tile img{width:40px;height:40px}.detail-head__tagline{font-size:20px;line-height:32px}.screens__pair{grid-template-columns:repeat(2,388px);gap:24px;display:grid}}
