.fg{--fg-stroke:var(--primary);--fg-fill:var(--card);--fg-soft:var(--accent);--fg-ink:var(--foreground);--fg-muted:var(--muted-foreground);--fg-on:var(--primary-foreground);--fg-gold:var(--gold);--fg-sw:2}.fg[data-tone=band]{--fg-stroke:#46d6a0;--fg-fill:color-mix(in srgb, var(--band-foreground) 9%, var(--band));--fg-soft:color-mix(in srgb, var(--band-foreground) 14%, var(--band));--fg-ink:var(--band-foreground);--fg-muted:var(--band-muted);--fg-on:#04150e}.fg-svg{width:100%;height:auto;display:block;overflow:visible}.fg-line{fill:none;stroke:var(--fg-stroke);stroke-width:var(--fg-sw);stroke-linecap:round;stroke-linejoin:round}.fg-line .fg-fill,.fg-fill{fill:var(--fg-fill)}.fg-line .fg-solid,.fg-solid{fill:var(--fg-stroke);stroke:var(--fg-stroke)}.fg-line .fg-soft,.fg-soft{fill:var(--fg-soft);stroke:none}.fg-line .fg-faint{stroke:var(--fg-muted)}.fg-chk{fill:none;stroke:var(--fg-on);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.fg-gold{fill:var(--fg-gold);stroke:var(--fg-stroke);stroke-width:1.5px}.fg-lane{fill:none;stroke:var(--fg-muted);stroke-opacity:.7;stroke-width:2px;stroke-dasharray:2 7;stroke-linecap:round}.fg-dot{fill:var(--fg-stroke);opacity:0}.fg-dot.gold{fill:var(--fg-gold);stroke:var(--fg-stroke);stroke-width:1.5px}.fg-ink-text{fill:var(--fg-ink);font-family:var(--font-sans), system-ui, sans-serif;font-weight:700}.fg-slash{fill:none;stroke:var(--destructive);stroke-width:4px;stroke-linecap:round}.fg[data-tone=band] .fg-slash{stroke:#f2877f}.fg-ring-track{fill:none;stroke:var(--fg-muted);stroke-opacity:.35;stroke-width:5px}.fg-ring{fill:none;stroke:var(--fg-stroke);stroke-width:5px;stroke-linecap:butt;stroke-dasharray:.75 2}.fg-tick{stroke-dasharray:1 2;stroke-dashoffset:0}.fg-pop{transform-box:fill-box;transform-origin:50%}.fg-process{position:relative}.fg-pl-lane{border-left:2px dashed var(--fg-muted);opacity:.7;width:0;position:absolute;top:56px;bottom:56px;left:48px}.fg-pl-dot{left:50%;top:calc(var(--p,.5) * 100%);background:var(--fg-stroke);opacity:0;border-radius:9999px;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.fg-pl-steps{z-index:1;margin:0;padding:0;list-style:none;display:grid;position:relative}.fg-pl-step{grid-template-columns:96px minmax(0,1fr);align-items:center;column-gap:16px;min-height:112px;display:grid;position:relative}.fg-pl-art{width:96px;height:96px;position:relative}.fg-pl-art .fg-svg{--fg-sw:3}.fg-pl-num{background:var(--fg-stroke);width:28px;height:28px;color:var(--fg-on);border-radius:9999px;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid;position:absolute;top:-4px;left:-4px}.fg-pl-cap{min-width:0;color:var(--fg-ink);font-size:1.125rem;font-weight:600;line-height:1.25}@media (min-width:640px){.fg-pl-lane{border-left:0;border-top:2px dashed var(--fg-muted);height:0;inset:60px 12.5% auto}.fg-pl-dot{left:calc(var(--p,.5) * 100%);top:50%}.fg-pl-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.fg-pl-step{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:12px;min-height:0}.fg-pl-art{width:120px;height:120px}}.fg-icon{flex:none;display:block}.fg-visual{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fg-visual .fg-icon{width:36px;height:36px}@media (prefers-reduced-motion:no-preference){.fg[data-motion=on] .fg-rise{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transition-delay:calc(var(--i,0) * .18s);transform:translateY(8px)}.fg[data-motion=on][data-in=true] .fg-rise{opacity:1;transform:none}.fg[data-motion=on] .fg-tick{stroke-dashoffset:1.05px;transition:stroke-dashoffset .7s ease-out;transition-delay:calc(var(--i,0) * .18s + .3s)}.fg[data-motion=on][data-in=true] .fg-tick{stroke-dashoffset:0}.fg[data-motion=on] .fg-ring{stroke-dasharray:0 2;transition:stroke-dasharray 1.1s ease-out;transition-delay:calc(var(--i,0) * .18s + .4s)}.fg[data-motion=on][data-in=true] .fg-ring{stroke-dasharray:.75 2}.fg[data-motion=on] .fg-pop{opacity:0;transition:transform .5s cubic-bezier(.3,1.5,.5,1),opacity .3s ease-out;transition-delay:calc(var(--i,0) * .18s + .5s);transform:scale(.4)}.fg[data-motion=on][data-in=true] .fg-pop{opacity:1;transform:none}@keyframes fg-pick{0%,54%{opacity:0}62%,90%{opacity:1}98%,to{opacity:0}}@keyframes fg-dim{0%,54%{opacity:1}62%,90%{opacity:.5}98%,to{opacity:1}}@keyframes fg-badge{0%,56%{opacity:0;transform:scale(.4)}66%{opacity:1;transform:scale(1.15)}72%,90%{opacity:1;transform:scale(1)}98%,to{opacity:0;transform:scale(1)}}@keyframes fg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.fg[data-motion=on] .fg-loop{animation-duration:8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}.fg[data-motion=on][data-live=true] .fg-loop{animation-play-state:running}.fg[data-motion=on] .fg-loop.pick{animation-name:fg-pick}.fg[data-motion=on] .fg-loop.dim{animation-name:fg-dim}.fg[data-motion=on] .fg-loop.badge{transform-box:fill-box;transform-origin:50%;animation-name:fg-badge}.fg[data-motion=on] .fg-float{animation:4s ease-in-out infinite fg-float;animation-delay:var(--d,0s);animation-play-state:paused}.fg[data-motion=on][data-live=true] .fg-float{animation-play-state:running}.fg-icon{transition:transform .25s ease-out}.fg-icon:hover{transform:translateY(-2px)}}
