.gf-home{--gh-line:#222a32;--gh-panel:#11161b;--gh-mute:#8e98a2;--gh-body:#c3cbd2;--gh-blue:#22a8e4;--gh-green:#3cc46e;background-image:linear-gradient(#788ca00b 1px,#0000 1px),linear-gradient(90deg,#788ca00b 1px,#0000 1px);background-size:48px 48px;overflow:clip}.gf-home .gf-shell{max-width:1200px}.gf-home a:focus-visible{outline:2px solid var(--gh-blue);outline-offset:4px}.gh-eyebrow{font:500 12px/1 var(--font-plex-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:hsl(var(--steel));align-items:center;gap:10px;display:flex}.gh-eyebrow:before{content:"";background:var(--brand-gradient);width:22px;height:2px}.gh-hero{isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:48px;padding-block:72px 56px;display:grid}.gh-hero h1{font:800 clamp(44px, 6.4vw, 84px)/.92 var(--font-display), sans-serif;letter-spacing:-.02em;text-wrap:balance;margin:22px 0;font-stretch:112%}.gh-hero h1 em{background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.gh-lede{color:var(--gh-body);max-width:34em;font-size:18px;line-height:1.55}.gh-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.gf-home .gh-actions a{min-height:50px;font-family:var(--font-display), sans-serif;border-radius:2px;padding-inline:22px;font-weight:700;font-stretch:110%}.gh-spec{border:1px solid var(--gh-line);font:500 12px/1.3 var(--font-plex-mono), monospace;color:var(--gh-mute);background:#11161bb3;flex-wrap:wrap;width:fit-content;max-width:100%;margin-top:26px;display:flex}.gh-spec div{border-right:1px solid var(--gh-line);padding:11px 14px}.gh-spec div:last-child{border-right:0}.gh-spec dt{color:hsl(var(--foreground));font-size:13px;font-weight:600}.gh-player{border:1px solid var(--gh-line);background:var(--gh-panel);min-width:0;margin:0;position:relative}.gh-player:before{content:"";background:var(--brand-gradient);height:2px;position:absolute;top:-1px;left:-1px;right:-1px}.gh-player-top{font:500 11.5px/1.3 var(--font-plex-mono), monospace;color:var(--gh-mute);letter-spacing:.04em;justify-content:space-between;gap:12px;padding:10px 14px;display:flex}.gh-player video{aspect-ratio:16/9;background:#000;width:100%;height:auto;display:block}.gh-player-caption{color:var(--gh-mute);padding:14px;font-size:14px;line-height:1.6}.gh-pipeline{border-top:1px solid var(--gh-line);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.gh-pipeline li{border-right:1px solid var(--gh-line);font:500 11px/1.4 var(--font-plex-mono), monospace;color:var(--gh-mute);padding:12px 14px}.gh-pipeline li:last-child{border-right:0}.gh-pipeline b{color:hsl(var(--foreground));font-size:12.5px;display:block}.gh-pipeline b:after{content:" ✓";color:var(--gh-green)}.gh-ticker{border-block:1px solid var(--gh-line);font:500 12px/1.4 var(--font-plex-mono), monospace;color:var(--gh-mute);letter-spacing:.08em;text-transform:uppercase;padding-block:16px;position:relative}.gh-ticker-set{flex-wrap:wrap;gap:12px 40px;margin:0;padding:0;list-style:none;display:flex}.gh-ticker-set[aria-hidden]{display:none}.gh-ticker b{color:hsl(var(--foreground));font-weight:600}.gh-ticker i{color:var(--gh-green);font-style:normal}.gh-lines{padding-block:72px}.gh-lines>h2,.gh-latest h2{font:800 34px/1 var(--font-display), sans-serif;letter-spacing:-.01em;margin:12px 0 28px;font-stretch:112%}.gh-grid{background:var(--gh-line);border:1px solid var(--gh-line);grid-template-columns:minmax(0,1fr) minmax(240px,.85fr) minmax(0,1fr);gap:1px;display:grid}.gh-card{background:hsl(var(--background));flex-direction:column;gap:14px;padding:30px;display:flex;position:relative}.gh-tag{font:500 11px/1 var(--font-plex-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--gh-mute);justify-content:space-between;gap:12px;display:flex}.gh-card h3{font:800 44px/1 var(--font-display), sans-serif;font-stretch:118%}.gh-card>p:not([class]){color:var(--gh-body);max-width:40ch;line-height:1.55}.gh-fig{font:600 40px/1 var(--font-plex-mono), monospace;font-variant-numeric:tabular-nums}.gh-card-blue .gh-fig{color:var(--gh-blue)}.gh-card-green .gh-fig{color:var(--gh-green)}.gh-fig small{color:var(--gh-mute);letter-spacing:.02em;margin-top:8px;font-size:12px;font-weight:500;line-height:1.4;display:block}.gh-card>a{font:600 13px/1 var(--font-plex-mono), monospace;color:hsl(var(--foreground));align-items:center;min-height:44px;margin-top:auto;padding-top:10px;display:flex}.gh-who{border-top:1px solid var(--gh-line);grid-template-columns:repeat(3,1fr);gap:28px;padding-block:56px;display:grid}.gh-who h2{font:700 13px/1 var(--font-plex-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--steel));margin-bottom:12px}.gh-who p{color:var(--gh-body);line-height:1.55}.gh-who a{min-height:44px;font:600 13px/1 var(--font-plex-mono), monospace;color:hsl(var(--link));align-items:center;display:inline-flex}.gh-latest{border-top:1px solid var(--gh-line);padding-block:40px 64px}.gh-latest-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;display:flex}.gh-latest-head>a{font:600 13px/1 var(--font-plex-mono), monospace;color:hsl(var(--link));align-items:center;min-height:44px;display:inline-flex}.gh-latest-list{border-top:1px solid var(--gh-line);display:grid}.gh-latest-list article{border-bottom:1px solid var(--gh-line);grid-template-columns:150px 1fr auto;align-items:baseline;gap:20px;padding-block:18px;display:grid}.gh-latest-list time,.gh-latest-list span{font:500 12px/1.4 var(--font-plex-mono), monospace;color:var(--gh-mute)}.gh-latest-list h3{font-size:18px;font-weight:600;line-height:1.35}.gh-band{border-top:1px solid var(--gh-line);background:#07090c;margin-bottom:-6rem;overflow:clip}.gh-band-frame{max-width:1500px;margin-inline:auto;position:relative}.gh-band img{width:100%;height:auto;display:block}@media (max-width:1100px){.gh-grid{grid-template-columns:1fr 1fr}.gh-core{order:-1;grid-column:1/-1}.gh-core .gf-forge-core svg{max-height:300px}}@media (max-width:860px){.gh-hero,.gh-grid,.gh-who{grid-template-columns:1fr}.gh-core .gf-forge-core svg{max-height:260px}.gh-hero{padding-block:48px 40px}.gh-pipeline{grid-template-columns:1fr 1fr}.gh-pipeline li:nth-child(2){border-right:0}.gh-pipeline li:nth-child(-n+2){border-bottom:1px solid var(--gh-line)}.gh-latest-list article{grid-template-columns:1fr;gap:6px}}.gf-home,.gf-home>*{position:relative}.gf-home:before{content:"";pointer-events:none;opacity:0;-webkit-mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px), #000 0%, #00000059 45%, transparent 75%);-webkit-mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px), #000 0%, #00000059 45%, transparent 75%);mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px), #000 0%, #00000059 45%, transparent 75%);background-image:linear-gradient(#22a8e46b 1px,#0000 1px),linear-gradient(90deg,#3cc46e52 1px,#0000 1px);background-size:48px 48px;transition:opacity .5s;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){html[data-gf-motion=running] .gf-home:hover:before{opacity:1}}.gh-blueprint{pointer-events:none;z-index:-1;stroke:#22a8e4;stroke-width:1px;opacity:.16;width:min(1200px,110vw);height:calc(100% + 40px);position:absolute;inset:-40px -10vw 0 auto}.gh-blueprint circle:nth-child(2),.gh-blueprint path:last-child{stroke:#3cc46e}@media (prefers-reduced-motion:no-preference){.gh-blueprint>:not([stroke-dasharray]){stroke-dasharray:1;animation:2.6s cubic-bezier(.65,0,.35,1) both gh-draw}.gh-blueprint>:nth-child(2){animation-delay:.25s}.gh-blueprint>:nth-child(4){animation-duration:3.2s;animation-delay:.5s}.gh-blueprint>:nth-child(5){animation-delay:.9s}.gh-blueprint>[stroke-dasharray]{animation:2s .6s both gh-fade}html[data-gf-motion=running] .gh-blueprint>[stroke-dasharray]{transform-box:view-box;transform-origin:930px 300px;animation:2s .6s both gh-fade,120s linear infinite paused gh-turn}html[data-gf-motion=running] .gh-hero:has(.fl-motion-scene[data-visible=true]) .gh-blueprint>[stroke-dasharray]{animation-play-state:running}}html[data-gf-motion=paused] .gh-blueprint,html[data-gf-motion=paused] .gh-blueprint>*{animation:none!important}@keyframes gh-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes gh-fade{0%{opacity:0}}@keyframes gh-turn{to{transform:rotate(360deg)}}.gh-hero h1 em [data-decode]{font-variant-ligatures:none}.gf-home .gh-actions .gf-button-primary{isolation:isolate;position:relative;overflow:hidden}.gf-home .gh-actions .gf-button-primary:after{content:"";z-index:-1;opacity:0;background:linear-gradient(100deg,#0000,#ffffffbf,#0000);width:45%;position:absolute;inset:-30% auto -30% -60%;transform:skew(-18deg)}html[data-gf-motion=running] .gf-home .gh-actions .gf-button-primary:is(:hover,:focus-visible):after{animation:.9s ease-out gh-sheen}@keyframes gh-sheen{0%{opacity:1;left:-60%}to{opacity:1;left:130%}}.gh-pipeline li{position:relative}.gh-pipeline li:before{content:"";background:var(--brand-gradient);transform-origin:0;height:2px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}html[data-gf-motion=running] .gh-pipeline-scene[data-visible=true] .gh-pipeline li:before{animation:7.2s cubic-bezier(.6,0,.3,1) infinite gh-step}html[data-gf-motion=running] .gh-pipeline-scene[data-visible=true] .gh-pipeline b:after{animation:7.2s infinite gh-check;display:inline-block}.gh-pipeline li:nth-child(2):before,.gh-pipeline li:nth-child(2) b:after{animation-delay:1.1s!important}.gh-pipeline li:nth-child(3):before,.gh-pipeline li:nth-child(3) b:after{animation-delay:2.2s!important}.gh-pipeline li:nth-child(4):before,.gh-pipeline li:nth-child(4) b:after{animation-delay:3.3s!important}@keyframes gh-step{0%{opacity:1;transform:scaleX(0)}14%{transform:scaleX(1)}78%{opacity:1;transform:scaleX(1)}90%,to{opacity:0;transform:scaleX(1)}}@keyframes gh-check{0%,10%{opacity:.2;transform:scale(.6)}16%{opacity:1;transform:scale(1.35)}22%,84%{opacity:1;transform:scale(1)}to{opacity:.2;transform:scale(.6)}}.gh-ticker:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#22a8e4,#3cc46e,#0000) -180px 0/180px 1px no-repeat;height:1px;position:absolute;top:-1px;left:0;right:0}html[data-gf-motion=running] .gh-ticker:before{animation:7s linear infinite paused gh-signal}html[data-gf-motion=running] .gh-ticker:has(.fl-motion-scene[data-visible=true]):before{animation-play-state:running}@keyframes gh-signal{to{background-position:calc(100% + 180px) 0}}html[data-gf-motion=running] .gh-ticker-scene{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}html[data-gf-motion=running] .gh-ticker-track{width:max-content;animation:46s linear infinite gh-marquee;display:flex}html[data-gf-motion=running] .gh-ticker-set{white-space:nowrap;flex-wrap:nowrap;padding-right:40px}html[data-gf-motion=running] .gh-ticker-set[aria-hidden]{display:flex}html[data-gf-motion=running] .gh-ticker:is(:hover,:focus-within) .fl-motion-scene[data-visible=true] .gh-ticker-track{animation-play-state:paused!important}@keyframes gh-marquee{to{transform:translate(-25%)}}@media (hover:hover) and (pointer:fine){html[data-gf-motion=running] .gh-grid{background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px), #22a8e4e6, #3cc46e66 35%, transparent 70%) border-box, var(--gh-line) border-box;border-color:#0000}.gh-card:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), #22a8e41a, transparent 65%);transition:opacity .35s;position:absolute;inset:0}.gh-card-green:before{background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), #3cc46e1a, transparent 65%)}html[data-gf-motion=running] .gh-card:hover:before{opacity:1}}.gh-card>*{position:relative}.gh-core{background:hsl(var(--background));place-items:center;min-width:0;display:grid}.gh-core>.fl-motion-scene{width:100%}.gh-core .gf-forge-core{min-height:0;box-shadow:none;background:radial-gradient(circle,#22a8e417,#0000 60%);border:0;border-radius:0}.gh-core .gf-forge-core svg{max-height:380px;margin-inline:auto;display:block}.gh-core .gf-forge-node text{display:none}.gh-core .gf-forge-caption{border-top-color:var(--gh-line);justify-content:space-around;font-size:11px}.gh-latest-list article{position:relative}.gh-latest-list article:after{content:"";background:var(--brand-gradient);transform-origin:0;height:1px;transition:transform .5s cubic-bezier(.6,0,.2,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}html[data-gf-motion=running] .gh-latest-list article:is(:hover,:focus-within):after{transform:scaleX(1)}@supports (animation-timeline:view()){html[data-gf-motion=running] .gh-reveal{animation:linear both gh-rise;animation-timeline:view();animation-range:entry entry 75%}html[data-gf-motion=running] .gh-grid.gh-reveal{animation-range:entry entry 55%}html[data-gf-motion=running] .gh-who>:nth-child(3){animation-range:entry 20% entry 95%}html[data-gf-motion=running] .gh-who>:nth-child(2){animation-range:entry 10% entry 85%}html[data-gf-motion=running] .gh-band-frame:after{animation:linear both gh-lift;animation-timeline:view();animation-range:entry cover 55%}}@keyframes gh-rise{0%{opacity:0;transform:translateY(36px)}}@keyframes gh-lift{0%{opacity:.82}to{opacity:0}}.gh-band-frame:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#07090c 10%,#07090c99 60%,#07090c);position:absolute;inset:0}.gh-band-fx{pointer-events:none;opacity:0;transition:opacity .6s;position:absolute;inset:0;overflow:hidden}html[data-gf-motion=running] .gh-band-fx{opacity:1}.gh-band-sweep{mix-blend-mode:screen;background:linear-gradient(100deg,#0000,#e9edf01a 40%,#22a8e424 55%,#0000);width:16%;animation:10s cubic-bezier(.5,0,.4,1) infinite gh-band-sweep;position:absolute;top:-20%;bottom:-20%;left:0;transform:translate(-150%)skew(-12deg)}.gh-band-spark{aspect-ratio:1;mix-blend-mode:screen;background:radial-gradient(circle,#fff3dcf2,#ffa23a8c 25%,#0000 70%);border-radius:50%;width:4.4%;animation:2.8s ease-in-out infinite gh-band-spark;position:absolute;top:80.4%;left:25.3%;translate:-50% -50%}.gh-band-glint{mix-blend-mode:screen;background:linear-gradient(90deg,#0000,#d8f3ff,#0000) -20% 0/18% 100% no-repeat;width:37%;height:3px;animation:6s ease-in-out infinite gh-band-glint;position:absolute;top:70.2%;left:46%;translate:0 -50%}@keyframes gh-band-sweep{0%{transform:translate(-150%)skew(-12deg)}55%,to{transform:translate(720%)skew(-12deg)}}@keyframes gh-band-spark{50%{opacity:.6;transform:scale(1.7)}}@keyframes gh-band-glint{0%{opacity:0;background-position:-20% 0}10%{opacity:1}60%{opacity:1;background-position:120% 0}70%,to{opacity:0;background-position:120% 0}}@media print{.gh-blueprint,.gh-band-fx,.gf-home:before{display:none}.gh-reveal,.gh-band-frame:after{opacity:1!important;animation:none!important}}
