@property --ga{syntax:"<angle>";inherits:false;initial-value:115deg}.hero{flex-direction:column;justify-content:center;min-height:92svh;display:flex;position:relative;overflow:hidden}@media (width<=860px){.hero{min-height:0}}.hero-field{z-index:0;background:radial-gradient(980px 520px at 76% 8%, color-mix(in oklab, var(--blue) 15%, transparent), transparent 62%), radial-gradient(820px 460px at 8% 82%, color-mix(in oklab, var(--mag) 9%, transparent), transparent 60%), linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff05 1px, transparent 1px);isolation:isolate;background-repeat:no-repeat,no-repeat,repeat,repeat;background-size:auto,auto,48px 48px,48px 48px;position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(#000 58%,#0000 97%);mask-repeat:no-repeat}.hero-field canvas{opacity:0;width:100%;height:100%;transition:opacity 1.1s var(--ease);display:block;position:absolute;inset:0}.hero-field canvas[data-active]{opacity:1}.field-hud{z-index:var(--z-content);color:color-mix(in oklab, var(--dim) 82%, transparent);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;font-size:13px;line-height:1;display:grid;position:absolute;inset:auto clamp(20px,3vw,40px) 18px}.field-hud:before{content:"";background:linear-gradient(90deg, transparent, var(--line2) 16% 84%, transparent);background-repeat:no-repeat;height:1px;position:absolute;inset:-10px 0 auto}.field-hud span:nth-child(2){text-align:center}.field-hud span:last-child{text-align:right}.field-state:before{content:"";background:var(--dim);border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.field-state:after{content:"static fallback"}.hero-field:has([data-active]) .field-state:before{background:var(--grn);box-shadow:0 0 9px var(--grn)}.hero-field[data-backend=webgpu] .field-state:after{content:"webgpu live"}.hero-field[data-backend=webgl2] .field-state:after{content:"webgl2 live"}.hero .tile{background:color-mix(in oklab, var(--tile) 74%, transparent);backdrop-filter:blur(14px)saturate(1.25);border-color:color-mix(in oklab, var(--line2) 65%, transparent);transition:border-color var(--motion-duration-control) var(--ease), background var(--motion-duration-control) var(--ease), box-shadow var(--motion-duration-control) var(--ease), opacity .9s var(--ease), transform .9s var(--ease)}.hero .tile.mark{background:radial-gradient(circle at 50% 38%, #9a6bff21, transparent 70%), color-mix(in oklab, var(--tile) 74%, transparent)}@starting-style{.hero .tile,.hero .rstat{opacity:0;transform:translateY(16px)}}.hero .rstat{background:color-mix(in oklab, var(--tile) 70%, transparent);backdrop-filter:blur(12px);transition:border-color var(--motion-duration-control) var(--ease), background var(--motion-duration-control) var(--ease), opacity .9s var(--ease) .12s, transform .9s var(--ease) .12s;position:relative}.hero-word{display:inline-block}.js .hero-word{animation:.72s cubic-bezier(.22,.61,.21,1) both hero-word-in;animation-delay:calc(.14s + var(--wi,0) * 85ms)}.js .hero-line-gradient{animation:.72s cubic-bezier(.22,.61,.21,1) both hero-word-in,11s linear infinite ga-drift;animation-delay:calc(.14s + var(--wi,0) * 85ms), 0s}@keyframes hero-word-in{0%{opacity:0;transform:translateY(.38em)}to{opacity:1;transform:none}}.hero-line-gradient,.contact-gradient{background-image:linear-gradient(in oklch var(--ga), #2fd6ee, #4f8cff 42%, #9a6bff 68%, #d23ce0);color:#0000;background-repeat:no-repeat;background-clip:text}@media (prefers-reduced-motion:no-preference){.hero-line-gradient,.contact-gradient{animation:11s linear infinite ga-drift}}@keyframes ga-drift{0%{--ga:115deg}to{--ga:475deg}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.hero-field{animation:linear both hero-field-drift scroll();animation-range:0 90svh}@keyframes hero-field-drift{to{opacity:.22;transform:translateY(6vh)scale(1.04)}}.hero .intro h1{animation:linear both h1-drift scroll();animation-range:0 70svh}@keyframes h1-drift{to{font-variation-settings:"wght" 585;letter-spacing:-.021em}}}}.works .card,.wip-row .card,.works3 .card{--card-accent:var(--cyan);position:relative}.works>.card:nth-child(2),.works3>.card:nth-child(2){--card-accent:var(--blue)}.works>.card:nth-child(3),.works3>.card:nth-child(3){--card-accent:var(--vio)}.wip-row>.card:first-child,.works3>.card:nth-child(4){--card-accent:var(--mag)}.wip-row>.card:last-child{--card-accent:var(--amb)}.works .frame:after,.wip-row .frame:after,.works3 .frame:after{content:"";z-index:var(--z-content);pointer-events:none;background:linear-gradient(90deg, transparent, var(--card-accent), transparent);opacity:.72;height:1px;filter:drop-shadow(0 0 8px var(--card-accent));background-repeat:no-repeat;position:absolute;inset:0 12% auto}.hero .tile:after,.hero .rstat:after,.works .card:after,.wip-row .card:after,.works3 .card:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), color-mix(in oklab, var(--cyan) 9%, transparent), transparent 65%);opacity:0;transition:opacity var(--motion-duration-content) var(--ease);position:absolute;inset:0}.hero .tile:focus-within:after,.works .card:focus-visible:after,.wip-row .card:focus-visible:after,.works3 .card:focus-visible:after{opacity:1}@media (hover:hover) and (pointer:fine){.hero .tile:hover:after,.hero .rstat:hover:after,.works .card:hover:after,.wip-row .card:hover:after,.works3 .card:hover:after{opacity:1}}@media (prefers-reduced-motion:reduce){.hero .tile,.hero .rstat{opacity:1;transition:none;transform:none}.js .hero-word,.js .hero-line-gradient{animation:none}.hero-field canvas{transition:none}.field-hud{display:none}}@media (prefers-reduced-transparency:reduce){.hero .tile,.hero .rstat{background:var(--tile);backdrop-filter:none}}@media (width<=560px){.field-hud{grid-template-columns:minmax(0,1fr) auto}.field-hud span:nth-child(2){display:none}}.hero{padding:var(--page-intro-padding);padding-bottom:var(--section-y)}.bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;display:grid}.intro{flex-direction:column;grid-area:span 2/span 8;justify-content:space-between;min-height:clamp(300px,34vw,400px);display:flex}.intro h1{letter-spacing:-.03em;margin-top:16px;font-size:clamp(30px,4.3vw,56px);font-weight:700;line-height:1.08}.intro h1>span{display:block}.intro h1 .h1b{color:var(--cyan)}.intro h1 .h1c{background:var(--grad);color:#0000;background-clip:text}.intro p{color:var(--ink2);max-width:54ch;margin-top:18px;font-size:clamp(15px,1.2vw,19px);line-height:1.62}.intro p b{color:var(--ink);font-weight:600}.intro .row{flex-wrap:wrap;gap:11px;margin-top:26px;display:flex}.mark{background:radial-gradient(circle at 50% 38%, #9a6bff21, transparent 70%), var(--tile);flex-direction:column;grid-column:span 4;justify-content:center;align-items:center;gap:15px;min-height:158px;display:flex}.mark img{filter:drop-shadow(0 0 22px #2fd6ee52);width:clamp(64px,6vw,90px);height:auto}.mark .mt{text-align:center}.mark .mt b{letter-spacing:.05em;font-size:15px;font-weight:700;display:block}.mark .mt span{font-family:var(--mono);color:var(--dim);letter-spacing:.12em;font-size:13px}.nowtile{grid-column:span 4}.nowtile .nl{flex-direction:column;gap:10px;margin-top:13px;display:flex}.nowtile .ni{align-items:baseline;gap:11px;display:flex}.nowtile .ni .y{font-family:var(--mono);color:var(--cyan);flex:none;width:62px;font-size:13px}.nowtile .ni .x{font-size:14.5px;line-height:1.3}.nowtile .ni .x small{color:var(--mut);font-family:var(--mono);font-size:13px;display:block}[data-float]{animation:6s ease-in-out infinite fl}@keyframes fl{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.ribbon{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.rstat{border:1px solid var(--line);background:var(--tile);border-radius:var(--radius-lg);padding:18px 20px}.rstat .n{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(26px,2.6vw,36px);font-weight:700}.rstat:first-child .n{background:var(--grad);color:#0000;background-clip:text}.rstat:nth-child(2) .n{color:var(--cyan)}.rstat:nth-child(3) .n{color:var(--vio)}.rstat:nth-child(4) .n{color:var(--mag)}.rstat .l{color:var(--mut);margin-top:6px;font-size:13px;line-height:1.45}.doits{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.doit{border:1px solid var(--line);background:var(--tile);border-radius:var(--rad);transition:border-color var(--motion-duration-control) var(--ease), background var(--motion-duration-control) var(--ease);padding:24px}.doit .ci{font-family:var(--mono);color:var(--cyan);letter-spacing:.08em;font-size:13px}.doit h3{letter-spacing:-.01em;margin:12px 0 8px;font-size:18px}.doit p{color:var(--mut);font-size:14px;line-height:1.6}.works{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.w{grid-column:span 6}.w.wide{grid-column:span 12;grid-template-columns:1.05fr minmax(0,1fr);display:grid}.w.wide .frame{border-bottom:none;border-right:1px solid var(--line)}.w .wbody{flex-direction:column;gap:10px;padding:22px;display:flex}.w .wmeta{font-family:var(--mono);color:var(--dim);letter-spacing:.06em;align-items:center;gap:10px;font-size:13px;display:flex}.w .wbody h3{letter-spacing:-.01em;font-size:clamp(19px,1.8vw,23px)}.w .wbody p{color:var(--mut);font-size:14px;line-height:1.62}.w .more{font-family:var(--mono);color:var(--cyan);align-items:center;gap:7px;margin-top:auto;padding-top:6px;font-size:13px;display:inline-flex}.more .ar{transition:transform var(--motion-duration-control) var(--ease)}.wip-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.works3{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}@media (width<=1180px) and (width>=861px){.works3{grid-template-columns:repeat(2,minmax(0,1fr))}}.works3 .card .wbody{flex-direction:column;flex:1;gap:10px;padding:22px;display:flex}.works3 .wmeta{font-family:var(--mono);color:var(--dim);letter-spacing:.06em;align-items:center;gap:10px;font-size:13px;display:flex}.works3 .wbody h3{letter-spacing:-.01em;font-size:clamp(18px,1.5vw,21px)}.works3 .wbody p{color:var(--mut);font-size:13.5px;line-height:1.6}.works3 .more{font-family:var(--mono);color:var(--cyan);align-items:center;gap:7px;margin-top:auto;padding-top:8px;font-size:13px;display:inline-flex}.wip-row .card .wbody{flex-direction:column;flex:1;gap:10px;padding:22px;display:flex}.wip-row .wmeta{font-family:var(--mono);color:var(--amb);letter-spacing:.06em;align-items:center;gap:10px;font-size:13px;display:flex}.wip-row .wbody h3{letter-spacing:-.01em;font-size:clamp(18px,1.5vw,21px)}.wip-row .wbody p{color:var(--mut);font-size:13.5px;line-height:1.6}.wip-row .more{font-family:var(--mono);color:var(--cyan);align-items:center;gap:7px;margin-top:auto;padding-top:8px;font-size:13px;display:inline-flex}.bounty{border-radius:var(--radius-2xl);background:radial-gradient(700px 300px at 100% 0, #d23ce01a, transparent 56%), linear-gradient(180deg, var(--tile), var(--bg2));border:1px solid #d23ce033;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:center;gap:clamp(24px,3vw,40px);padding:clamp(26px,3vw,38px);display:grid}.bounty>*{min-width:0}.bounty h2{letter-spacing:-.02em;margin:13px 0 14px;font-size:clamp(25px,3.2vw,38px);line-height:1.1}.bounty p{color:var(--ink2);font-size:15px;line-height:1.7}.bounty p+p{color:var(--mut);margin-top:12px}.bstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.bstat{border:1px solid var(--line);border-radius:var(--radius-lg);background:#07090e99;padding:16px}.bstat .n{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.bstat:first-child .n{color:var(--mag)}.bstat:nth-child(2) .n{color:var(--cyan)}.bstat:nth-child(3) .n{color:var(--vio)}.bstat .l{color:var(--mut);margin-top:5px;font-size:13px;line-height:1.4}.cta{border:1px solid var(--line2);border-radius:var(--radius-3xl);background:radial-gradient(720px 300px at 50% 0, #9a6bff24, transparent 58%), var(--tile);text-align:center;padding:clamp(34px,4vw,56px)}.cta h2{letter-spacing:-.03em;max-width:20ch;margin:14px auto 0;font-size:clamp(28px,4.2vw,50px);line-height:1.04}.cta p{color:var(--mut);max-width:52ch;margin:16px auto 0;font-size:clamp(15px,1.1vw,17px)}.cta-alt{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.cform{text-align:left;max-width:640px;margin:26px auto 0}.cf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.cf-field{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.cf-field label{font-family:var(--mono);letter-spacing:.05em;color:var(--mut);text-transform:uppercase;font-size:13px}.cf-field label .opt{color:var(--dim);text-transform:none;letter-spacing:0}.cform input,.cform select,.cform textarea{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--ink);font-family:var(--disp);transition:border-color var(--motion-duration-control) var(--ease), background var(--motion-duration-control) var(--ease);padding:12px 14px;font-size:15px}.cform input::placeholder,.cform textarea::placeholder{color:var(--dim)}.cform input:focus-visible,.cform select:focus-visible,.cform textarea:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #2fd6ee24}.cform textarea{resize:vertical;min-height:120px;line-height:1.6}.cform select{appearance:none;cursor:pointer}.cf-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cf-turnstile{margin:4px 0}.cf-devnote{font-family:var(--mono);color:var(--dim);margin:2px 0;font-size:13px;line-height:1.5}.cf-devnote code{color:var(--cyan)}.cf-status{min-height:24px;margin:8px 0}.cf-status p{font-size:14px;font-weight:500}.cf-status .ok{color:var(--grn)}.cf-status .err{color:var(--amb)}.cf-submit{justify-content:center;width:100%;margin-top:4px}.cf-submit:disabled{opacity:.6;cursor:not-allowed}.card:focus-visible .more .ar{transform:translate(4px)}@media (hover:hover) and (pointer:fine){.doit:hover{border-color:var(--line2);background:var(--tile2)}.card:hover .more .ar{transform:translate(4px)}.cform input:hover,.cform select:hover,.cform textarea:hover{border-color:var(--line2)}}@media (width<=860px){.bento,.works{grid-template-columns:minmax(0,1fr)}.intro,.mark,.nowtile,.w,.w.wide{grid-column:span 1}.intro{grid-row:auto;min-height:0}.w.wide{grid-template-columns:minmax(0,1fr)}.w.wide .frame{border-right:none;border-bottom:1px solid var(--line)}.ribbon{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.doits,.bounty,.wip-row,.works3{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.cf-grid{grid-template-columns:minmax(0,1fr)}}
