.fg{--fg-line:color-mix(in oklab, var(--color-night-text) 12%, transparent);--fg-ease:cubic-bezier(.65, 0, .35, 1);--fg-pop:cubic-bezier(.2, .8, .2, 1)}.fg-stage{position:relative}.fg-svg{width:100%;height:auto;display:none;overflow:visible}.fg-rail{fill:none;stroke:var(--fg-line);stroke-width:1px}.fg-edge{fill:none;stroke:color-mix(in oklab, var(--color-night-text) 55%, transparent);stroke-width:1.25px;stroke-dasharray:1;stroke-dashoffset:0}.fg-packet{fill:none;stroke:var(--color-signal-night);stroke-width:4px;stroke-linecap:square;stroke-dasharray:.006 1;opacity:0}.fg-ring{fill:var(--color-night);stroke:color-mix(in oklab, var(--color-night-text) 30%, transparent);stroke-width:1px}.fg-core{fill:var(--fg-tone);transform-box:fill-box;transform-origin:50%}.fg-node{--fg-tone:var(--color-night-text)}.fg-node[data-tone=signal],.fg-item[data-tone=signal]{--fg-tone:var(--color-signal-night)}.fg-node[data-tone=ok],.fg-item[data-tone=ok],.fg-node[data-tone=review],.fg-item[data-tone=review]{--fg-tone:var(--color-ok-night)}.fg-node[data-tone=signal] .fg-ring{stroke:var(--color-signal-night)}.fg-node[data-tone=review] .fg-core{display:none}.fg-node[data-tone=review] .fg-ring{stroke:var(--color-ok-night)}.fg-pulse{fill:none;stroke:var(--color-hold-night);stroke-width:1px;opacity:0;transform-box:fill-box;transform-origin:50%}.fg-check{fill:none;stroke:var(--color-ok-night);stroke-width:1.6px;stroke-linecap:square;stroke-dasharray:1;stroke-dashoffset:0}.fg-halo{opacity:1}.fg-list{gap:1.35rem;padding-left:2.25rem;display:grid;position:relative}.fg-list:before{content:"";background:var(--fg-line);width:1px;position:absolute;top:.6rem;bottom:.6rem;left:.5rem}.fg-item{--fg-tone:var(--color-night-text);gap:.1rem;display:grid;position:relative}.fg-item[data-branch]{margin-left:1.25rem}.fg-item-node{border:1px solid color-mix(in oklab, var(--color-night-text) 30%, transparent);background:var(--color-night);border-radius:3px;width:1rem;height:1rem;position:absolute;top:.2rem;left:-2.25rem}.fg-item-node:after{content:"";background:var(--fg-tone);border-radius:1px;position:absolute;inset:4px}.fg-item[data-branch] .fg-item-node:before{content:"";background:var(--fg-line);width:.75rem;height:1px;position:absolute;top:50%;right:100%}.fg-item[data-tone=signal] .fg-item-node{border-color:var(--color-signal-night)}.fg-item[data-tone=review] .fg-item-node{border-color:var(--color-ok-night)}.fg-item-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-night-muted);font-size:.75rem;font-weight:500}.fg-item-detail{color:var(--color-night-text);font-size:.95rem;line-height:1.35}.fg-caption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-night-muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;font-size:.75rem;display:flex}@media (min-width:64rem){.fg-svg{display:block}.fg-list{padding:0;display:block;position:absolute;inset:0}.fg-list:before,.fg-item-node{display:none}.fg-item{left:var(--x);top:var(--y);text-align:center;width:max-content;max-width:13rem;margin:0;position:absolute;transform:translate(-50%,1.6rem)}.fg-item[data-branch]{margin:0}.fg-item[data-place=above]{transform:translate(-50%,calc(-100% - 1.6rem))}.fg-item[data-k=email]{text-align:left;transform:translate(-.625rem,1.6rem)}.fg-item[data-k=action]{text-align:right;transform:translate(calc(.625rem - 100%),1.6rem)}.fg-item-detail{font-size:.875rem}.fg-caption{margin-top:2.25rem}}@media (prefers-reduced-motion:no-preference){.fg-edge{animation:fg-draw var(--dur,.5s) var(--fg-ease) var(--d) both}.fg-packet{animation:fg-run var(--dur,.5s) var(--fg-ease) var(--d) both}.fg-core{animation:fg-core var(--dur-2) var(--fg-pop) var(--d) both}.fg-ring{animation:fg-ring var(--dur-2) var(--fg-pop) var(--d) both}.fg-node[data-tone=review] .fg-ring{animation:fg-review .7s linear var(--d) both}.fg-pulse{animation:fg-pulse .9s var(--fg-pop) var(--d) forwards}.fg-check{animation:fg-draw .24s var(--fg-pop) var(--d) both}.fg-halo{animation:fg-fade .9s var(--fg-pop) var(--d) both}.fg-item{animation:fg-label var(--dur-3) var(--fg-pop) var(--d) both}.fg-item-node:after{animation:fg-core var(--dur-2) var(--fg-pop) var(--d) both}.fg-list:before{transform-origin:top;animation:fg-rail 3s var(--fg-ease) .3s both}.fg-item-node{animation:fg-node-in var(--dur-2) var(--fg-pop) var(--d) both}.fg-item[data-tone=review] .fg-item-node{animation:fg-review-box .7s linear var(--d) both}}.fg[data-phase=out] :is(.fg-edge,.fg-packet,.fg-core,.fg-check,.fg-pulse,.fg-halo),.fg[data-phase=out] .fg-item-node:after{opacity:0;transition:opacity .45s var(--ease-in-out-soft)}.fg[data-phase=out] .fg-node .fg-ring,.fg[data-phase=out] .fg-item .fg-item-node{animation:fg-dim .45s var(--ease-in-out-soft) forwards}.fg[data-phase=out] .fg-list:before{opacity:0;transition:opacity .45s var(--ease-in-out-soft)}.fg[data-phase=out] .fg-item>:not(.fg-item-node){opacity:.25;transition:opacity .45s var(--ease-in-out-soft)}.fg[data-paused] *,.fg[data-paused] :before,.fg[data-paused] :after{animation-play-state:paused!important}@keyframes fg-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes fg-run{0%{stroke-dashoffset:.006px;opacity:0}10%,85%{opacity:1}to{stroke-dashoffset:-.994px;opacity:0}}@keyframes fg-core{0%{opacity:0;fill:var(--color-night-3);background:var(--color-night-3);transform:scale(.4)}to{transform:scale(1)}}@keyframes fg-ring{0%{stroke:color-mix(in oklab, var(--color-night-text) 14%, transparent)}}@keyframes fg-review{0%{stroke:color-mix(in oklab, var(--color-night-text) 14%, transparent)}10%,98%{stroke:var(--color-hold-night)}}@keyframes fg-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes fg-fade{0%{opacity:0}}@keyframes fg-label{0%{opacity:.25}}@keyframes fg-rail{0%{transform:scaleY(0)}}@keyframes fg-review-box{0%{border-color:color-mix(in oklab, var(--color-night-text) 14%, transparent)}10%,98%{border-color:var(--color-hold-night)}}@keyframes fg-dim{to{stroke:color-mix(in oklab, var(--color-night-text) 14%, transparent);border-color:color-mix(in oklab, var(--color-night-text) 14%, transparent)}}@keyframes fg-node-in{0%{border-color:color-mix(in oklab, var(--color-night-text) 14%, transparent)}}
