html:has(body.home){scroll-behavior:smooth;font-size:16px;line-height:normal}:where(body.home *){margin:0;padding:0}:where(body.home *):before,:where(body.home *):after{box-sizing:content-box}.home img{image-rendering:auto}.home a{text-underline-offset:auto;text-decoration-thickness:auto}html:has(body.home),body.home{background:var(--plane);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Instrument Sans Variable,Instrument Sans,system-ui,sans-serif;transition:background-color .8s}body.home{line-height:normal;overflow-x:hidden}.home a{color:inherit}.home canvas{cursor:pointer;z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.veil{z-index:1;pointer-events:none;background:linear-gradient(90deg, var(--plane) 0, var(--plane) 62%, transparent);opacity:.94;width:calc(min(36rem,44vw) + 14vw);transition:background .8s;position:fixed;top:0;bottom:0;left:0}.home main{z-index:2;width:min(36rem,44vw);margin-left:6vw;position:relative}.home main:before{content:"";background:var(--ink);opacity:.14;width:2px;position:absolute;top:50vh;bottom:50vh;left:0}.stop{flex-direction:column;justify-content:center;min-height:100vh;padding:14vh 0 14vh 2.6rem;scroll-margin-top:0;display:flex;position:relative}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem}.when{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex;position:relative}.when:before{content:"";background:var(--plane);width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--ink-soft);margin-top:-6px;transition:background .4s,box-shadow .4s,transform .4s;position:absolute;top:50%;left:calc(-2.6rem - 5px)}.stop.active .when:before{background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);transform:rotate(45deg)}.tag{background:var(--ink);color:var(--plane);letter-spacing:.1em;padding:.22rem .45rem}.ghead{border-bottom:2px solid var(--accent);flex-wrap:wrap;align-items:baseline;gap:.8rem;margin-bottom:2.2rem;padding-bottom:.9rem;display:flex}.ghead .num{color:var(--accent);letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:500}.ghead .gname{letter-spacing:-.03em;font-size:1.6rem;font-weight:600}.ghead .gsub,.ghead .gcv{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.68rem}.ghead .gcv{color:var(--ink)}.next{z-index:4;background:var(--ink);width:36px;height:36px;color:var(--plane);cursor:pointer;border:0;place-items:center;transition:opacity .4s,transform .2s,background .3s;display:grid;position:fixed;bottom:1.6rem;left:calc(6vw - 17px)}.next:hover{background:var(--accent);color:#fff}.next svg{fill:none;stroke:currentColor;stroke-width:2.4px;width:14px;height:14px}.next.first svg{animation:1.6s ease-in-out infinite nudge}.next.gone,.next.covering{opacity:0;pointer-events:none}@keyframes nudge{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}.home h1,.home h2{letter-spacing:-.035em;font-family:inherit;font-weight:600;line-height:.95}.home h1{margin-bottom:1rem;font-size:clamp(2.8rem,6vw,5.4rem)}.home h2{margin-bottom:.45rem;font-size:clamp(2.1rem,4vw,3.4rem)}.role{color:var(--ink-soft);margin-bottom:.9rem;font-weight:500}.lede{max-width:31rem;font-size:1.08rem;line-height:1.5}.lede+.lede{margin-top:.7rem}.roles{color:var(--ink-soft);margin:0 0 1rem;font-size:.92rem;line-height:1.6;list-style:none}.roles b{color:var(--ink);font-weight:500}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem 1.6rem;max-width:31rem;margin-top:1.6rem;display:grid}.metric{border-top:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent);padding-top:.75rem}.metric b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:600;line-height:1;display:block}.metric small{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);text-wrap:balance;margin-top:.5rem;font-family:JetBrains Mono,monospace;font-size:.62rem;line-height:1.5;display:block}.award{color:var(--ink-soft);margin-top:1.2rem;font-size:.9rem}.award:before{content:"";background:var(--accent);width:8px;height:8px;margin-right:.55rem;display:inline-block;transform:rotate(45deg)translateY(-1px)}.press{background:var(--card);align-items:flex-start;gap:1rem;max-width:31rem;margin-top:1.4rem;padding:1rem 1.2rem 1rem 1rem;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 1px #0000000a,0 14px 30px -20px #00000059}.press:hover{transform:translateY(-3px);box-shadow:0 1px #0000000a,0 20px 36px -20px #0006}.press .pi{background:var(--accent);color:#fff;flex:none;place-items:center;width:42px;height:42px;display:grid}.press .pi svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;width:22px;height:22px}.press .pt{gap:.3rem;display:grid}.press b{font-size:1.02rem;font-weight:600;line-height:1.3}.press .go{margin-top:.2rem}.cta{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.8rem;display:flex}.btn{background:var(--ink);color:var(--plane);cursor:pointer;border:0;align-items:center;gap:.55rem;padding:.8rem 1.15rem;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:transform .2s,background .3s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn.blue{background:var(--accent);color:#fff}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.btn svg{fill:currentColor;width:16px;height:16px}.shots{perspective:900px;margin-top:1.8rem}.frame{transform-style:preserve-3d;will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.web .frame{background:var(--card);overflow:hidden;box-shadow:0 1px #0000000d,0 18px 40px -18px #00000059}.chrome{background:var(--card);z-index:1;align-items:center;gap:5px;padding:7px 10px;display:flex;position:relative}.chrome i{background:var(--ink);opacity:.22;width:7px;height:7px}.chrome span{color:var(--ink-soft);letter-spacing:.04em;margin-left:8px;font-family:JetBrains Mono,monospace;font-size:.62rem}.shot img{width:100%;height:auto;display:block}.scroller{aspect-ratio:16/10;background:#fff;position:relative;overflow:hidden}.scroller img{animation:26s ease-in-out infinite pagescroll;position:absolute;top:0;left:0}.shot:hover .scroller img{animation-play-state:paused}@keyframes pagescroll{0%,8%{transform:translateY(0)}46%,54%{transform:translateY(var(--travel,-60%))}92%,to{transform:translateY(0)}}.phones{gap:1.1rem;display:flex}.phone .frame{border:5px solid var(--ink);background:var(--ink);border-radius:20px;width:150px;overflow:hidden;box-shadow:0 18px 40px -18px #0006}.duo{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.duo .frame{aspect-ratio:800/415}.duo .frame img{object-fit:cover;width:100%;height:100%}.duo figcaption{margin-top:.6rem;font-size:.88rem;line-height:1.4}.duo figcaption b{font-weight:600;display:block}.duo figcaption a{letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.66rem}p,li,summary,figcaption span,cite{text-wrap:pretty}.label,.award,small,.home h1,.home h2,.press b,.q p{text-wrap:balance}.hl{gap:.5rem;max-width:31rem;margin-top:1.1rem;list-style:none;display:grid}.hl li{padding-left:1.2rem;font-size:.98rem;line-height:1.45;position:relative}.hl li:before{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:.5em;left:0}.hl b{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.q{border-left:2px solid var(--accent);max-width:31rem;margin-top:1.6rem;padding-left:1.1rem}.q p{font-size:1rem;font-style:italic;line-height:1.5}.q p:before{content:"“"}.q p:after{content:"”"}.q cite{color:var(--ink-soft);margin-top:.55rem;font-size:.8rem;font-style:normal;display:block}.q cite b{color:var(--ink);font-size:.86rem;font-weight:600;display:block}.links{margin-top:1rem}.home .visit,.home .go{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.35rem;font-family:JetBrains Mono,monospace;font-size:.7rem;text-decoration:none;display:inline-flex}.visit svg,.go svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:11px;height:11px;transition:transform .25s}.visit:hover svg,.press:hover .go svg{transform:translate(2px,-2px)}.games{perspective:900px;grid-template-columns:1fr 1fr;gap:1.3rem;margin-top:1.6rem;display:grid}.game .frame{aspect-ratio:800/415}.game .frame img{object-fit:cover;width:100%;height:100%}.game figcaption{color:var(--ink-soft);margin-top:.7rem;font-size:.88rem;line-height:1.4}.game figcaption b{color:var(--ink);margin-bottom:.15rem;font-size:.95rem;font-weight:600;display:block}.gbtns{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.btn.sm{gap:.4rem;padding:.55rem .8rem;font-size:.84rem}.btn.sm svg{width:13px;height:13px}.btn.ghost svg{fill:none;stroke:currentColor;stroke-width:2px}.btn.blue svg path[d^=M7\ 4]{fill:currentColor}.howto{background:var(--card);max-width:31rem;margin-top:1.2rem;padding:1rem 2.6rem 1rem 1.1rem;animation:.35s cubic-bezier(.2,.8,.2,1) pop;position:relative;box-shadow:0 14px 30px -18px #00000059}.howto b{margin-bottom:.3rem;display:block}.howto p{color:var(--ink-soft);font-size:.92rem;line-height:1.5}.howto .x{cursor:pointer;width:28px;height:28px;color:var(--ink);background:0 0;border:0;font-size:1.3rem;position:absolute;top:.5rem;right:.6rem}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.faq{max-width:32rem;margin-top:1.4rem}.faq details{border-top:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent)}.faq details:last-child{border-bottom:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent)}.faq summary{cursor:pointer;padding:.85rem 2rem .85rem 0;font-weight:500;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:9px;height:9px;margin-top:-6px;transition:transform .3s;position:absolute;top:50%;right:.3rem;transform:rotate(45deg)}.faq details[open] summary:after{margin-top:-2px;transform:rotate(-135deg)}.faq p{color:var(--ink-soft);padding:0 0 1rem;line-height:1.55}.js .rv{opacity:0;transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(20px)}.js .on .rv{opacity:1;transform:none}.js .shot .frame>img,.js .scroller{clip-path:inset(0 0 100%);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1);transition-delay:calc(var(--i,0) * 70ms + .25s)}.js .on .shot .frame>img,.js .on .scroller{clip-path:inset(0)}.hud{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;padding:1.3rem 4vw 1rem 6vw;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud a{text-decoration:none}.groups{align-items:center;gap:1.5rem;display:flex}.groups a{padding:.2rem 0;position:relative}.groups a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.groups a.on{color:var(--ink)}.groups a.on:after,.groups a:hover:after{transform:scaleX(1)}.groups .cv{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);padding:.4rem .6rem}.groups .cv:after{display:none}.index{z-index:4;flex-direction:column;align-items:flex-end;gap:.1rem;display:flex;position:fixed;top:50%;right:1.6rem;transform:translateY(-50%)}.index .g{opacity:0;margin:.55rem 0 .15rem;font-size:.6rem;transition:opacity .3s}.index a{align-items:center;gap:.6rem;padding:.16rem 0;text-decoration:none;display:flex}.index a span{opacity:0;white-space:nowrap;font-size:.78rem;font-weight:500;transition:opacity .25s,transform .25s;transform:translate(6px)}.index a i{background:var(--ink);opacity:.28;width:8px;height:8px;transition:opacity .3s,background .3s,transform .3s}.index a.gate-link i{opacity:.45;width:12px;height:2px}.index a.on i{background:var(--accent);opacity:1;transform:rotate(45deg)scale(1.25)}.index:hover .g{opacity:.7}.index:hover a span{opacity:.85;transform:none}.index a:hover span{opacity:1}.dock{z-index:3;flex-direction:column;align-items:flex-end;gap:.7rem;display:flex;position:fixed;bottom:1.6rem;right:4vw}.hint{text-align:right;line-height:1.7;transition:opacity .6s}.knocks{font-variant-numeric:tabular-nums;opacity:0;color:var(--ink);transition:opacity .4s}.knocks.seen{opacity:1}.pals{align-items:center;gap:.45rem;display:flex}.pals button{cursor:pointer;border:0;width:22px;height:22px;transition:transform .2s;box-shadow:inset 0 0 0 2px #00000026}.pals button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ink);transform:rotate(45deg)scale(.85)}@media (width<=1100px){.index{display:none}}@media (width<=820px){.home main{width:auto;margin:0 6vw}.home main:before{display:none}.stop{justify-content:flex-start;min-height:120vh;padding:52vh 0 10vh}.when:before{display:none}.veil{background:linear-gradient(180deg, transparent, var(--plane) 22%);width:100%;height:64vh;top:auto}.metric b{font-size:1.5rem}.metrics{gap:1rem}.hint{display:none}.next{left:auto;right:5vw}.next:not(.first){opacity:0;pointer-events:none}.phone .frame{width:120px}.hud{background:linear-gradient(var(--plane) 60%, transparent);padding:1rem 5vw}.hud .name{display:none}.groups{justify-content:space-between;gap:1rem;width:100%}.duo,.games{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.next.first svg{animation:none}.js .rv,.js .shot .frame>img,.js .scroller{opacity:1;clip-path:none;transition:none;transform:none}.scroller img{animation:none}}.reveal-all .rv{opacity:1!important;transition:none!important;transform:none!important}.reveal-all .shot .frame>img,.reveal-all .scroller{clip-path:none!important}.contact[data-astro-cid-he3spzz3] .cta[data-astro-cid-he3spzz3]{flex-direction:column;align-items:flex-start}.cta-row[data-astro-cid-he3spzz3]{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}@media (width<=820px){.contact[data-astro-cid-he3spzz3] .cta[data-astro-cid-he3spzz3] .btn[data-astro-cid-he3spzz3].ghost{padding-inline:.6rem}.cta-row[data-astro-cid-he3spzz3]{gap:.6rem}}.contact-btn[data-astro-cid-he3spzz3]:disabled{opacity:.7;cursor:progress}.contact-spin[data-astro-cid-he3spzz3]{background:var(--ink);width:10px;height:10px;animation:.6s steps(4,end) infinite contact-spin}@media (prefers-reduced-motion:reduce){.contact-spin[data-astro-cid-he3spzz3]{animation:none}}@keyframes contact-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-note[data-astro-cid-he3spzz3]{text-transform:none;letter-spacing:.02em;text-wrap:pretty;max-width:31rem;margin-top:1rem;line-height:1.5}.contact-result[data-astro-cid-he3spzz3]{max-width:31rem;min-height:1.5em;margin-top:.7rem;font-size:.95rem}.contact-result[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{color:var(--accent)}.contact-link{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);overflow-wrap:anywhere;align-items:center;padding:.8rem 1.15rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.site-footer[data-astro-cid-jo6i4kqk]{z-index:2;width:min(36rem,44vw);padding:3rem 0 calc(7rem + env(safe-area-inset-bottom)) 2.6rem;margin:0 0 0 6vw;position:relative}nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.4rem 1.4rem;margin-bottom:1rem;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border-bottom:1.5px solid #0000;padding:.4rem 0;text-decoration:none;display:inline-block}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{border-bottom-color:var(--accent)}.privacy[data-astro-cid-jo6i4kqk]{color:var(--ink-soft);text-wrap:pretty;max-width:31rem;margin:0 0 .6rem;font-size:.82rem;line-height:1.5}.copy[data-astro-cid-jo6i4kqk]{margin:0}@media (width<=820px){.site-footer[data-astro-cid-jo6i4kqk]{width:auto;margin:0 6vw;padding-left:0}}
