:root{--wall:#f4f4f1;--ink:#161616;--muted:#6b6b66;--rule:#d9d9d4;--plate:#eaeae6;--sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--serif:"IBM Plex Serif", Georgia, serif;--mono:"IBM Plex Mono", "SF Mono", Menlo, monospace;--gutter:clamp(24px, 4vw, 64px);--section:clamp(56px, 8vw, 112px);--col:minmax(0, 1fr)}@font-face{font-family:IBM Plex Sans;font-weight:400 600;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSans-Variable.woff2)format("woff2")}@font-face{font-family:IBM Plex Serif;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSerif-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Serif;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/IBMPlexSerif-Italic.woff2)format("woff2")}@font-face{font-family:IBM Plex Serif;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSerif-Medium.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexMono-Medium.woff2)format("woff2")}*{box-sizing:border-box}html{background:var(--wall);color:var(--ink);-webkit-font-smoothing:antialiased;text-size-adjust:100%}body{font-family:var(--sans);margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,dl,ul,ol{margin:0}ul,ol{padding-left:1.2em}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.skip{background:var(--wall);border:1px solid var(--ink);padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:var(--gutter);z-index:20}.wrap{padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}.mono{font-family:var(--mono);color:var(--muted);font-size:12px}.grid{grid-template-columns:repeat(12, var(--col));column-gap:24px;display:grid}.section{padding-block:0 var(--section)}.rg-48{row-gap:48px}.mt-20{margin-top:20px}.mt-28{margin-top:28px}.mt-40{margin-top:40px}.mt-48{margin-top:48px}.mt-56{margin-top:56px}.label{border-top:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:28px;padding-top:12px;display:flex}.label h2{letter-spacing:.02em;font-size:13px;font-weight:500}.top{z-index:10;background:var(--wall);border-bottom:1px solid var(--rule);position:sticky;top:0}.top__inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{white-space:nowrap;align-items:center;gap:12px;font-size:15px;font-weight:500;display:flex}.brand svg{width:22px;height:22px;color:var(--ink)}.nav{gap:28px;font-size:15px;display:flex}.nav a{padding-block:4px;position:relative}.nav a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .16s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.nav a:focus-visible:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.top__navs{align-items:center;gap:28px;display:flex}.nav--lang{border-left:1px solid var(--rule);padding-left:28px}.hero{padding-block:clamp(40px,9vw,128px) clamp(32px,6vw,88px)}.hero .mono{margin-bottom:28px}.hero h1{font-family:var(--serif);letter-spacing:-.006em;max-width:30ch;font-size:clamp(30px,3.7vw,54px);font-weight:400;line-height:1.16}.hero h1 br{display:none}.hero p{max-width:52ch;color:var(--muted);margin-top:24px;font-size:17px}.page-head{padding-block:clamp(40px,6vw,88px) clamp(32px,4vw,56px)}.page-head h1{font-family:var(--serif);max-width:30ch;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.2}.page-head .mono{margin-bottom:20px}.page-head p.lede{max-width:60ch;color:var(--muted);margin-top:20px;font-size:17px}.work{grid-template-columns:repeat(12, var(--col));border-top:1px solid var(--rule);align-items:baseline;gap:8px 24px;padding-block:26px 30px}.work h3{letter-spacing:-.005em;grid-column:1/span 4;font-size:20px;font-weight:500}.work h3 span{border-bottom:1px solid #0000;padding-bottom:2px;transition:border-color .16s}.work:hover h3 span,.work:focus-visible h3 span{border-bottom-color:var(--ink)}.work__body{grid-column:5/span 7;gap:10px;display:grid}.work__body p{font-family:var(--serif);max-width:52ch;font-size:17px}.work__body p.mono{font-family:var(--mono);font-size:12px}.works{border-bottom:1px solid var(--rule)}@media (width<=900px){.work h3,.work__body{grid-column:1/-1}.work{row-gap:12px}}.piece{display:block}.frame{background:var(--plate);border:1px solid var(--rule);overflow:hidden}.frame img{width:100%;transition:filter .24s}.piece:hover .frame img{filter:brightness(1.03)}.frame--game{aspect-ratio:3/2}.frame--app{aspect-ratio:4/5}.frame--app img{object-fit:cover;height:100%}.caption{gap:6px;margin-top:16px;display:grid}.caption h3{letter-spacing:-.005em;font-size:20px;font-weight:500}.caption p{font-family:var(--serif);max-width:46ch;font-size:16px}.caption .mono{margin-top:4px}.pull{max-width:60ch;margin:48px 0 0;padding:0}.pull p{font-family:var(--serif);font-size:clamp(19px,1.6vw,23px);font-style:italic;line-height:1.45}.pull footer{margin-top:12px}.facts{grid-template-columns:max-content 1fr;gap:8px 20px;font-size:15px;display:grid}.facts dt{color:var(--muted)}.link{border-bottom:1px solid var(--ink);padding-bottom:1px;font-size:15px;display:inline-block}.btn{border:1px solid var(--ink);padding:12px 20px;font-size:15px;font-weight:500;transition:background .16s,color .16s;display:inline-block}.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--wall)}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.badges{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.badge{transition:opacity .16s;display:inline-block}.badge img{width:auto;height:40px}.badge:hover,.badge:focus-visible{opacity:.82}.prose{font-family:var(--serif);max-width:66ch;font-size:17px;line-height:1.6}.prose h2{font-family:var(--sans);margin-top:2.2em;margin-bottom:.6em;font-size:15px;font-weight:600}.prose h3{font-family:var(--sans);margin-top:1.6em;margin-bottom:.4em;font-size:15px;font-weight:500}.prose p,.prose ul,.prose ol{margin-bottom:1em}.prose a{border-bottom:1px solid var(--ink)}.prose .mono{margin-bottom:1.4em;display:block}.prose--sm{font-size:16px}.latest{border-top:1px solid var(--rule);align-items:baseline;padding-block:20px 22px}.latest .mono{grid-column:1/span 3}.latest p{grid-column:4/span 8;font-size:16px}.latest a{border-bottom:1px solid var(--ink)}.entries{row-gap:0;display:grid}.entry{grid-template-columns:repeat(12, var(--col));border-top:1px solid var(--rule);column-gap:24px;padding-block:22px;display:grid}.entry .mono{grid-column:1/span 3}.entry__body{grid-column:4/span 8}.entry__body h2{margin-bottom:6px;font-size:18px;font-weight:500}.entry__body p{font-family:var(--serif);max-width:60ch;font-size:16px}.foot{border-top:1px solid var(--rule);margin-top:var(--section);padding-block:32px 40px}.foot__grid{row-gap:16px;font-size:14px}.foot__legal{color:var(--muted);grid-column:1/span 5;gap:6px;display:grid}.foot__colophon{font-size:12px}.foot__links{flex-wrap:wrap;grid-column:7/span 6;gap:8px 24px;display:flex}.foot__links a:hover,.foot__links a:focus-visible{border-bottom:1px solid var(--ink)}@media (prefers-reduced-motion:no-preference){.fade{opacity:0;animation:.32s ease-out forwards fade}.fade:nth-child(2){animation-delay:60ms}.fade:nth-child(3){animation-delay:.12s}@keyframes fade{to{opacity:1}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}}@media (width>=900px){.hero h1 br{display:inline}}@media (width<=900px){.nav{gap:18px;font-size:14px}.latest .mono,.latest p,.foot__legal,.foot__links,.entry .mono,.entry__body{grid-column:1/-1}}@media (width<=620px){.top__inner{flex-wrap:wrap;row-gap:10px;height:auto;padding-block:12px}.top__navs{justify-content:space-between;gap:16px;width:100%}.nav--lang{padding-left:16px}.nav{gap:14px}}@media (width<=480px){.brand span{position:absolute;left:-999px}}
