@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;-webkit-mask-image:linear-gradient(#000 58%,#0000 97%);mask-image:linear-gradient(#000 58%,#0000 97%);-webkit-mask-repeat:no-repeat;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}[data-motion=paused] .hero-field canvas{transition:none}.field-hud{inset-block-end:13.5px;inset-inline:calc(max(0px, (100% - var(--maxw)) / 2) + clamp(20px, 3vw, 40px));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}.field-hud:before{content:"";background:linear-gradient(90deg, transparent, var(--line2) 16% 84%, transparent);background-repeat:no-repeat;height:1px;position:absolute;inset:-14.5px 0 auto}.field-hud span:nth-child(2){text-align:center}.field-hud span:last-child{text-align:right}.field-metrics{font-variant-numeric:tabular-nums;white-space:nowrap}.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"}.field-hud[data-backend] .field-state:before{background:var(--grn);box-shadow:0 0 9px var(--grn)}.field-hud[data-backend=webgpu] .field-state:after{content:"webgpu live"}.field-hud[data-backend=webgl2] .field-state:after{content:"webgl2 live"}:where([data-motion=paused]) .field-hud[data-backend] .field-state:before{background:var(--amb);box-shadow:none}:where([data-motion=paused]) .field-hud[data-backend=webgpu] .field-state:after{content:"webgpu paused"}:where([data-motion=paused]) .field-hud[data-backend=webgl2] .field-state:after{content:"webgl2 paused"}.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)}@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), var(--cyan), var(--blue) 42%, var(--vio) 68%, var(--mag));color:#0000;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;animation:11s linear infinite ga-drift}@keyframes ga-drift{0%{--ga:115deg}to{--ga:475deg}}.kit-typed{white-space:nowrap;width:12ch;animation:.7s steps(12,end) .45s both kit-type;overflow:hidden}@keyframes kit-type{0%{width:0}}.kit-caret{animation:1.1s step-end infinite kit-caret}@keyframes kit-caret{50%{opacity:0}}.kit-list div{animation:kit-line .36s var(--ease) 1.2s both}@supports (animation-delay:calc(sibling-index() * 1ms)){.kit-list div{animation-delay:calc(1.1s + sibling-index() * 70ms)}}@keyframes kit-line{0%{opacity:0;transform:translateY(4px)}}[data-motion=paused] .contact-gradient{animation-play-state:paused}.js[data-motion=paused] .hero-line-gradient{animation-play-state:running,paused}[data-motion=paused] .kit-caret{animation:none}@supports (animation-timeline:scroll()){.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)}.works>.card:nth-child(4){--card-accent:var(--amb)}.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-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 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}.tile.kit{font-family:var(--mono);flex-direction:column;grid-column:span 4;padding:0;display:flex}.kit-bar{border-bottom:1px solid var(--line);background:#ffffff05;align-items:center;gap:6px;height:30px;padding:0 13px;display:flex}.kit-bar i{background:var(--line2);border-radius:50%;width:9px;height:9px}.kit-bar span{color:var(--dim);margin-left:8px;font-size:13px}.kit-body{flex-direction:column;flex:1;justify-content:center;gap:12px;padding:16px clamp(18px,1.8vw,22px) 18px;display:flex}.kit-cmd{color:var(--ink);align-items:center;font-size:14px;line-height:1.4;display:flex}.kit-ps{color:var(--grn);margin-right:10px}.kit-caret{background:var(--cyan);width:7px;height:1.1em;margin-left:2px}.kit-list{grid-template-columns:max-content minmax(0,1fr);gap:5px 14px;font-size:13px;line-height:1.5;display:grid}.kit-list div{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.kit-list dt{color:var(--cyan)}.kit-list div:nth-child(2) dt{color:var(--blue)}.kit-list div:nth-child(3) dt{color:var(--vio)}.kit-list div:nth-child(4) dt{color:var(--mag)}.kit-list div:nth-child(5) dt{color:var(--amb)}.kit-list dd{color:var(--ink2)}.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}.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;-webkit-background-clip:text;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 4}.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;flex-direction:column;align-items:flex-start;gap:6px;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;flex-direction:column;align-items:flex-start;gap:6px;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;flex-direction:column;align-items:flex-start;gap:6px;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}@media (width<=1180px) and (width>=861px),(width<=560px){.bstats{grid-template-columns:minmax(0,1fr);gap:10px}.bstat{grid-template-columns:60px minmax(0,1fr);align-items:baseline;column-gap:14px;padding:12px 16px;display:grid}.bstat .l{margin-top:0}}.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{field-sizing:content;resize:vertical;min-height:120px;max-height:420px;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){.hero{padding-bottom:calc(var(--section-y) + 16px)}.bento,.works{grid-template-columns:minmax(0,1fr)}.intro,.tile.kit,.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)}}@media (width<360px){.rstat{padding:16px 12px}}
