.nf{--nf-line:color-mix(in srgb, currentColor 16%, transparent);--nf-red:#e5484d;--nf-green:#22c55e;--nf-card:#fbfaf5;--nf-cycle:3.6s;position:relative}.nf-stage{min-height:calc(100svh - 2.75em - var(--gap-padding));padding-top:calc(var(--section-padding) * .3);flex-direction:column;display:flex}.nf-head{padding:0 var(--container-padding)}.nf-label{color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.8em;font-size:.75em;display:flex}.nf-label__dot{background:var(--nf-red);border-radius:50%;flex:none;width:.6em;height:.6em;position:relative}.nf-label__dot:after{content:"";background:var(--nf-red);opacity:0;border-radius:50%;position:absolute;inset:0}.nf-canvas{padding:calc(var(--section-padding) * .35) var(--container-padding);flex:1;align-content:center;display:grid;position:relative}.nf-canvas:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#1c1d2033 1px,#0000 1.25px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(48% 62%,#000 0%,#0000008c 45%,#0000 100%);mask-image:radial-gradient(48% 62%,#000 0%,#0000008c 45%,#0000 100%)}.nf-flow{--node-h:4.25em;--drop:2.1em;width:100%;max-width:64em;padding-bottom:var(--drop);align-items:center;margin:0 auto;display:flex}.nf-node{width:clamp(8.75em,16vw,14em);height:var(--node-h);background:var(--nf-card);border:1px solid #1c1d2029;border-radius:.75em;flex:none;align-items:center;gap:.75em;padding:0 .8em;display:flex;position:relative;box-shadow:0 .9em 1.8em -1.2em #1c1d2059}.nf-node:before,.nf-node:after{content:"";background:var(--color-cream);border:1.5px solid #1c1d208c;border-radius:50%;width:.6em;height:.6em;margin-top:-.3em;position:absolute;top:50%}.nf-node:before{left:-.3em}.nf-node:after{right:-.3em}.nf-node__tag{background:var(--color-dark);width:3.22581em;height:3.22581em;color:var(--color-brand);font:600 .62em/1 var(--font-geist-mono), ui-monospace, monospace;border-radius:.806452em;flex:none;place-items:center;display:grid;position:relative}.nf-node__text{flex-direction:column;gap:.2em;min-width:0;display:flex}.nf-node__title{white-space:nowrap;font-size:.9em;font-weight:500;line-height:1.1}.nf-node__sub{color:var(--color-muted);white-space:nowrap;font-size:.72em;line-height:1.1}.nf-node--a:before{display:none}.nf-node--b .nf-node__tag:after{content:"";border:2px solid var(--nf-green);opacity:0;border-radius:.9em;position:absolute;inset:-.35em}.nf-node--c{border-style:dashed;border-color:color-mix(in srgb, var(--nf-red) 55%, transparent);background:color-mix(in srgb, var(--nf-card) 70%, transparent);box-shadow:none;transform-origin:0;translate:0 var(--drop);rotate:8deg}.nf-node--c:before{border-color:var(--nf-red)}.nf-node--c:after{display:none}.nf-node--c .nf-node__title{color:var(--color-muted)}.nf-edge{min-width:3em;height:var(--node-h);flex:1 1 0;position:relative;container-type:inline-size}.nf-edge__line{transform-origin:0;background:#1c1d2066;height:1.5px;margin-top:-.75px;position:absolute;top:50%;left:0;right:.35em}.nf-edge__line:after{content:"";border-left:.5em solid #1c1d208c;border-block:.3em solid #0000;position:absolute;top:50%;right:-1px;translate:0 -50%}.nf-edge--broken{flex-grow:2}.nf-edge__whole{opacity:0}.nf-edge__stub{background:var(--nf-red);width:30%;height:2px;margin-top:-1px;position:absolute;top:50%;left:0}.nf-spark{width:0;height:0;position:absolute;top:50%;left:30%}.nf-spark i{background:var(--nf-red);transform-origin:-.2em;border-radius:1px;width:.55em;height:2px;position:absolute;top:-1px;left:.2em}.nf-spark i:first-child{rotate:-38deg}.nf-spark i:nth-child(2){width:.4em;rotate:4deg}.nf-spark i:nth-child(3){rotate:42deg}.nf-cut{background:var(--nf-red);width:1.7em;height:1.7em;color:var(--color-cream);box-shadow:0 0 0 .35em color-mix(in srgb, var(--nf-red) 14%, transparent);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.nf-cut svg{width:72%;height:72%}.nf-dangle{width:100%;height:var(--drop);position:absolute;top:50%;left:0;overflow:visible}.nf-dangle path{fill:none;stroke:var(--nf-red);stroke-width:1.5px;stroke-dasharray:4 4}.nf-dot{background:var(--nf-green);opacity:0;border-radius:50%;width:.5em;height:.5em;margin:-.25em 0 0 -.25em;position:absolute;top:50%;left:0;box-shadow:0 0 0 .18em #22c55e38,0 0 .7em #22c55ecc}.nf-fall{position:absolute;top:50%;left:0}.nf-fall .nf-dot{top:0}.nf-marquee{padding:calc(var(--section-padding) * .15) 0 calc(var(--gap-padding) * .75) var(--container-padding);order:9;overflow:clip}.nf-marquee__track{letter-spacing:-.02em;width:max-content;padding-bottom:.12em;font-size:max(9em,15vw);font-weight:450;line-height:1;display:flex}.nf-marquee__copy{flex-shrink:0;align-items:center;display:flex}.nf-marquee__text{white-space:nowrap}.nf-sep{padding:0 .22em;display:flex;translate:0 .04em}.nf-sep__disc{background:var(--color-brand);width:.62em;height:.62em;color:var(--color-on-brand);border-radius:50%;place-items:center;display:grid}.nf-sep__code{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.02em;font-size:.15em;font-weight:600}.nf-copy{justify-content:space-between;align-items:flex-end;gap:2em var(--gap-padding);padding:0 var(--container-padding);display:flex}.nf-lede{letter-spacing:-.005em;text-wrap:pretty;max-width:34ch;font-size:clamp(1.15em,1.45vw,1.5em);line-height:1.4}.nf-pills{flex-wrap:wrap;flex:none;gap:.75em;display:flex}.nf-pill{padding:0 2em}.nf-pill--solid{background:var(--color-dark);box-shadow:none;color:var(--color-cream)}.nf-pill__arrow{width:1.15em;height:1.15em;transition:translate .45s var(--ease-primary)}.nf-pill:hover .nf-pill__arrow,.nf-pill:focus-visible .nf-pill__arrow{translate:.25em}.nf-pill--solid:hover .nf-pill__arrow,.nf-pill--solid:focus-visible .nf-pill__arrow{translate:-.25em}.nf-list{margin-top:calc(var(--section-padding) * .6);padding-bottom:var(--section-padding)}.nf-row{border-top:1px solid var(--nf-line)}.nf-row:last-child{border-bottom:1px solid var(--nf-line)}.nf-row__link{isolation:isolate;grid-template-columns:var(--container-padding) minmax(0, 1.15fr) minmax(0, 1fr) auto;padding:1.35em var(--container-padding) 1.35em 0;transition:color .45s var(--ease-primary), opacity .3s var(--ease-primary);align-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.nf-row__link:before{content:"";z-index:-1;background:var(--color-dark);transform-origin:bottom;transition:transform .6s var(--ease-primary);position:absolute;inset:0;transform:scaleY(0)}.nf-row__link:focus-visible{outline-offset:-2px;outline:2px solid}.nf-row__n{color:var(--color-muted);font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;transition:color .45s var(--ease-primary);justify-self:center;font-size:.75em}.nf-row__label{letter-spacing:-.02em;transition:translate .6s var(--ease-primary);font-size:clamp(1.5em,2.5vw,2.75em);font-weight:450;line-height:1.1}.nf-row__blurb{color:var(--color-muted);transition:color .45s var(--ease-primary);padding-right:1em}.nf-row__go{aspect-ratio:1;border:1px solid var(--nf-line);width:clamp(2.8em,3.6vw,3.8em);transition:background-color .45s var(--ease-primary), border-color .45s var(--ease-primary), color .45s var(--ease-primary);border-radius:50%;place-items:center;display:grid}.nf-row__go svg{width:38%;height:38%;transition:rotate .6s var(--ease-primary)}@media (hover:hover) and (pointer:fine){.nf-list:has(.nf-row__link:hover) .nf-row__link:not(:hover){opacity:.4}.nf-row__link:hover{color:var(--color-cream)}.nf-row__link:hover:before{transform:none}.nf-row__link:hover .nf-row__label{translate:.35em}.nf-row__link:hover .nf-row__n,.nf-row__link:hover .nf-row__blurb{color:var(--color-muted-dark)}.nf-row__link:hover .nf-row__go{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.nf-row__link:hover .nf-row__go svg{rotate:45deg}}@keyframes nf-pop{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes nf-draw{0%{opacity:1;scale:0 1}to{opacity:1;scale:1}}@keyframes nf-gone{0%{opacity:1}to{opacity:0}}@keyframes nf-show{0%{opacity:0}to{opacity:1}}@keyframes nf-cut-in{0%{opacity:0;scale:0}60%{opacity:1;scale:1.3}to{opacity:1;scale:1}}@keyframes nf-drop{0%{animation-timing-function:cubic-bezier(.5,0,1,.6);translate:0;rotate:none}45%{translate:0 var(--drop);animation-timing-function:ease-in-out;rotate:14deg}75%{rotate:5deg}to{translate:0 var(--drop);rotate:8deg}}@keyframes nf-line-rise{0%{transform:translateY(105%)}to{transform:none}}html[data-intro=page] .nf{--nf-t:.72s}html[data-intro=enter] .nf{--nf-t:.15s}:is(html[data-intro=page],html[data-intro=enter]) .nf-node{animation:nf-pop .45s var(--intro-rise) calc(var(--nf-t) + var(--k) * .15s) both}:is(html[data-intro=page],html[data-intro=enter]) .nf-node--c{animation:nf-pop .45s var(--intro-rise) calc(var(--nf-t) + .3s) both, nf-drop .44s linear calc(var(--nf-t) + .72s) both}:is(html[data-intro=page],html[data-intro=enter]) .nf-edge:not(.nf-edge--broken) .nf-edge__line{animation:nf-draw .35s var(--intro-in-out) calc(var(--nf-t) + .1s) both}:is(html[data-intro=page],html[data-intro=enter]) .nf-edge__whole{animation:nf-draw .35s var(--intro-in-out) calc(var(--nf-t) + .25s) both, nf-gone 80ms linear calc(var(--nf-t) + .72s) both}:is(html[data-intro=page],html[data-intro=enter]) :is(.nf-edge__stub,.nf-spark){animation:nf-show 80ms linear calc(var(--nf-t) + .72s) both}:is(html[data-intro=page],html[data-intro=enter]) .nf-cut{animation:nf-cut-in .38s var(--intro-rise) calc(var(--nf-t) + .74s) both}:is(html[data-intro=page],html[data-intro=enter]) .nf-dangle{animation:nf-show .2s linear calc(var(--nf-t) + .9s) both}:is(html[data-intro=page],html[data-intro=enter]) .nf-marquee__rise{animation:nf-line-rise 1s var(--intro-rise) calc(var(--nf-t) + 80ms) both}:is(html[data-intro=page],html[data-intro=enter]) :is(.nf-dot,.nf-fall),:is(html[data-intro=page],html[data-intro=enter]) .nf-node--b .nf-node__tag:after{animation:none}@keyframes nf-slide{to{transform:translate(-50%)}}@keyframes nf-ping{0%{opacity:.6;scale:1}70%,to{opacity:0;scale:2.8}}@keyframes nf-run{0%{opacity:0;translate:0}4%,33%{opacity:1}36%,to{opacity:0;translate:100cqw}}@keyframes nf-flash{0%,33%{opacity:0}38%{opacity:1}48%,to{opacity:0}}@keyframes nf-carry{0%,44%{translate:0}64%{animation-timing-function:cubic-bezier(.2,.6,.4,1);translate:30cqw}88%,to{translate:38cqw}}@keyframes nf-drop-dot{0%,43.9%{opacity:0;translate:0;scale:1}44%{opacity:1;translate:0}64%{opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45);translate:0;scale:1}88%,to{opacity:0;translate:0 5em;scale:.5}}@keyframes nf-cut-pulse{0%,62%{scale:1}67%{scale:1.22}76%,to{scale:1}}@keyframes nf-spark{0%,62%{opacity:.55;scale:1}66%{opacity:1;scale:1.5}80%,to{opacity:.55;scale:1}}@keyframes nf-sway{0%{rotate:8deg}to{rotate:5deg}}@media (prefers-reduced-motion:no-preference){.nf-marquee__track{animation:22s linear infinite nf-slide}.nf-label__dot:after{animation:2.4s cubic-bezier(0,0,.2,1) infinite nf-ping}.nf-dot--a{animation:nf-run var(--nf-cycle) linear infinite}.nf-node--b .nf-node__tag:after{animation:nf-flash var(--nf-cycle) linear infinite}.nf-fall{animation:nf-carry var(--nf-cycle) linear infinite}.nf-dot--b{animation:nf-drop-dot var(--nf-cycle) linear infinite}.nf-cut{animation:nf-cut-pulse var(--nf-cycle) ease-out infinite}.nf-spark{animation:nf-spark var(--nf-cycle) ease-out infinite}.nf-node--c{animation:2.6s ease-in-out infinite alternate nf-sway}@supports (animation-timeline:view()){.nf-row{animation:linear both nf-row-rise;animation-timeline:view();animation-range:entry entry 90%}}}@keyframes nf-row-rise{0%{opacity:0;transform:translateY(1.5em)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.nf-marquee{padding-right:var(--container-padding);container-type:inline-size}.nf-marquee__track{width:auto;font-size:14.0845cqw}.nf-marquee__copy[aria-hidden],.nf-sep{display:none}}@media (max-width:1024px){.nf-copy{flex-direction:column;align-items:flex-start}}@media (max-width:720px){.nf-row__link{padding:1.2em var(--container-padding);grid-template-columns:2.5em minmax(0,1fr) auto;grid-template-areas:"n label go""n blurb go";gap:.35em .5em}.nf-row__n{grid-area:n;place-self:start;padding-top:.55em}.nf-row__label{grid-area:label}.nf-row__blurb{grid-area:blurb;font-size:.9em}.nf-row__go{grid-area:go}}@media (max-width:540px){.nf-flow{--drop:1.5em}.nf-node{flex-direction:column;gap:.45em;width:auto;height:auto;padding:.65em .6em .55em}.nf-node__sub{display:none}.nf-node__title{font-size:.75em}.nf-edge{min-width:2em;height:3.5em}.nf-edge--broken{flex-grow:2.6}.nf-spark{display:none}.nf-cut{width:1.4em;height:1.4em}.nf-pills{width:100%}.nf-pill{flex:auto;justify-content:center;padding:0 1.25em}}
