.fs-lab,.fs-lab-tokens{--lab-bg: var(--background);--lab-surface: var(--card);--lab-surface-2: var(--secondary);--lab-line: var(--border);--lab-line-strong: 220 13% 42%;--lab-text: var(--foreground);--lab-muted: var(--muted-foreground);--lab-accent: var(--primary);--lab-radius: 14px;--lab-radius-sm: 8px;--lab-shadow: 0 1px 0 hsl(0 0% 100% / .05) inset, 0 12px 30px -20px hsl(222 60% 2% / .85);--lab-ease: cubic-bezier(.22, 1, .36, 1);--lab-fast: .16s;--lab-med: .28s}.fs-lab{position:relative;color:hsl(var(--lab-text))}.fs-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:"zero" 1}.fs-eyebrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--lab-accent))}.fs-muted{color:hsl(var(--lab-muted))}.fs-card{position:relative;overflow:hidden;border-radius:var(--lab-radius);border:1px solid hsl(var(--lab-line));background:linear-gradient(180deg,hsl(var(--lab-surface-2) / .55),hsl(var(--lab-surface) / .82) 60%);box-shadow:var(--lab-shadow);transition:transform var(--lab-med) var(--lab-ease),border-color var(--lab-fast) ease,box-shadow var(--lab-med) var(--lab-ease)}.fs-card:hover,.fs-card:focus-within{transform:translateY(-3px);box-shadow:var(--lab-shadow),0 18px 40px -22px currentColor}.fs-card .fs-glow{position:absolute;inset:auto -20% -45%;height:70%;pointer-events:none;opacity:0;background:radial-gradient(closest-side,currentColor,transparent 72%);transition:opacity var(--lab-med) ease}.fs-card:hover .fs-glow,.fs-card:focus-within .fs-glow{opacity:.16}.fs-card.fs-static:hover,.fs-card.fs-static:focus-within{transform:none}.fs-card .fs-rule{position:absolute;left:0;top:0;height:2px;width:100%;transform:scaleX(.12);transform-origin:left;opacity:.9;transition:transform .42s var(--lab-ease)}.fs-card:hover .fs-rule,.fs-card:focus-within .fs-rule{transform:scaleX(1)}.fs-card .fs-stretch:after{content:"";position:absolute;inset:0;z-index:1}.fs-card .fs-stretch:focus-visible{outline:none}.fs-card:has(.fs-stretch:focus-visible){outline:2px solid hsl(var(--lab-accent));outline-offset:2px}.fs-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;color:hsl(var(--lab-accent))}.fs-cta .fs-cta-more{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width var(--lab-med) var(--lab-ease),opacity var(--lab-fast) ease}.fs-card:hover .fs-cta .fs-cta-more,.fs-card:focus-within .fs-cta .fs-cta-more,.fs-cta.is-open .fs-cta-more{max-width:9rem;opacity:1}.fs-cta svg{transition:transform var(--lab-med) var(--lab-ease)}.fs-card:hover .fs-cta svg,.fs-card:focus-within .fs-cta svg{transform:translate(3px)}@media(hover:none){.fs-cta .fs-cta-more{max-width:9rem;opacity:1}}.fs-chip{display:inline-flex;flex:none;align-items:center;gap:.45rem;min-height:40px;padding:.35rem .9rem;border-radius:999px;border:1px solid hsl(var(--lab-line));background:hsl(var(--lab-surface) / .85);font-size:.85rem;font-weight:500;white-space:nowrap;transition:color var(--lab-fast) ease,background var(--lab-fast) ease,border-color var(--lab-fast) ease,transform var(--lab-fast) ease}.fs-chip .fs-chip-label{color:hsl(var(--lab-muted));transition:color var(--lab-fast) ease}.fs-chip:hover{border-color:hsl(var(--lab-line-strong))}.fs-chip:hover .fs-chip-label{color:hsl(var(--lab-text))}.fs-chip:active{transform:scale(.97)}.fs-chip:focus-visible{outline:2px solid hsl(var(--lab-accent));outline-offset:2px}.fs-chip[aria-pressed=true] .fs-chip-label,.fs-chip[aria-selected=true] .fs-chip-label{color:hsl(var(--lab-text))}.fs-chip[aria-pressed=true],.fs-chip[aria-selected=true]{background:hsl(var(--lab-surface-2));border-color:hsl(var(--lab-line-strong));box-shadow:0 0 0 1px currentColor inset}.fs-chip .fs-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;opacity:.7}.fs-scroll-x{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 28px),transparent 100%)}.fs-scroll-x::-webkit-scrollbar{display:none}.fs-scroll-x>*{scroll-snap-align:start}@media(min-width:1024px){.fs-scroll-x{-webkit-mask-image:none;mask-image:none;flex-wrap:wrap}}.fs-search{display:flex;width:100%;align-items:center;gap:.75rem;min-height:52px;padding:0 1rem;border-radius:12px;border:1px solid hsl(var(--lab-line-strong));background:hsl(var(--lab-surface) / .85);color:hsl(var(--lab-muted));text-align:left;box-shadow:var(--lab-shadow);transition:border-color var(--lab-fast) ease,box-shadow var(--lab-med) ease}.fs-search:hover{border-color:hsl(var(--lab-accent) / .55);box-shadow:var(--lab-shadow),0 0 0 4px hsl(var(--lab-accent) / .08)}.fs-search:focus-visible{outline:2px solid hsl(var(--lab-accent));outline-offset:2px}.fs-kbd{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;padding:.15rem .45rem;border-radius:6px;border:1px solid hsl(var(--lab-line-strong));background:hsl(var(--lab-surface-2));color:hsl(var(--lab-text))}.fs-art{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 15% 0%,color-mix(in srgb,currentColor 16%,transparent),transparent 62%),hsl(var(--lab-surface))}.fs-art svg{display:block;width:100%;height:100%}.fs-art .fs-art-line{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}.fs-art .fs-art-fill{fill:currentColor}.fs-art .fs-art-dim{stroke:hsl(var(--lab-line-strong));fill:none}.fs-sweep{transform-origin:200px 125px;transform-box:view-box}.fs-card:hover .fs-sweep,.fs-card:focus-within .fs-sweep,[data-live=true] .fs-sweep,.fs-live:hover .fs-sweep{animation:fs-spin 3.6s linear infinite}.fs-card:hover .fs-blip,.fs-card:focus-within .fs-blip,[data-live=true] .fs-blip{animation:fs-blink 1.8s ease-in-out infinite}.fs-card:hover .fs-node,.fs-card:focus-within .fs-node,[data-live=true] .fs-node{animation:fs-pulse 2s ease-in-out infinite}.fs-node{transform-box:fill-box;transform-origin:center}.fs-bar{transform-box:fill-box;transform-origin:bottom}.fs-card:hover .fs-bar,.fs-card:focus-within .fs-bar,[data-live=true] .fs-bar{animation:fs-grow 1.6s var(--lab-ease) infinite alternate}.fs-dash{stroke-dasharray:7 7}.fs-card:hover .fs-dash,.fs-card:focus-within .fs-dash,[data-live=true] .fs-dash{animation:fs-flow 1.2s linear infinite}.fs-card:hover .fs-scan,.fs-card:focus-within .fs-scan,[data-live=true] .fs-scan{animation:fs-scan 2.4s ease-in-out infinite alternate}@keyframes fs-spin{to{transform:rotate(360deg)}}@keyframes fs-blink{0%,to{opacity:.35}50%{opacity:1}}@keyframes fs-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes fs-grow{0%{transform:scaleY(.72)}to{transform:scaleY(1)}}@keyframes fs-flow{to{stroke-dashoffset:-28}}@keyframes fs-scan{0%{transform:translateY(0)}to{transform:translateY(70px)}}@keyframes fs-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fs-fade{0%{opacity:0}to{opacity:1}}.fs-enter{animation:fs-rise .42s var(--lab-ease) both}.fs-step-line{background:linear-gradient(to bottom,hsl(var(--lab-accent) / .5),hsl(var(--lab-line)))}@media(prefers-reduced-motion:reduce){.fs-lab *,.fs-lab *:before,.fs-lab *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.fs-card:hover,.fs-card:focus-within{transform:none}}
