:root{--motion-fast:.15s;--motion-standard:.2s;--motion-entrance:.48s;--motion-entrance-distance:10px;--motion-ambient:8s;--motion-ambient-drift:2.6;--motion-parallax-max:5px;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-entrance:cubic-bezier(.16, 1, .3, 1);--elevation-hover:0 10px 28px -16px #1f1e3838, 0 2px 6px -3px #1f1e3814;--border-hover:color-mix(in oklch, var(--border-strong) 78%, var(--primary));--glow:color-mix(in oklch, var(--ambient-violet) 34%, transparent);--ambient-violet:#a492fb;--ambient-blue:#6ab1f3}@supports (color:lab(0% 0 0)){:root{--elevation-hover:0 10px 28px -16px lab(12.402% 7.04575 -17.386/.22), 0 2px 6px -3px lab(12.402% 7.04575 -17.386/.08);--ambient-violet:lab(65.5944% 24.778 -50.7219);--ambient-blue:lab(69.51% -8.76936 -40.3679)}}.dark{--elevation-hover:0 12px 32px -16px #000000b3, 0 0 0 1px #ffffff05;--border-hover:color-mix(in oklch, var(--border-strong) 72%, var(--primary));--glow:color-mix(in oklch, var(--ambient-violet) 30%, transparent);--ambient-violet:#674ad3;--ambient-blue:#1467c2}@supports (color:lab(0% 0 0)){.dark{--elevation-hover:0 12px 32px -16px lab(0% 0 0/.7), 0 0 0 1px lab(100% 0 0/.02);--ambient-violet:lab(41.0556% 39.3141 -67.9014);--ambient-blue:lab(43.1103% 3.41514 -54.9257)}}@media (prefers-reduced-motion:reduce){:root{--motion-entrance-distance:0px;--motion-parallax-max:0px}}.card-link{transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard)}.card-link:hover{border-color:var(--border-hover);box-shadow:var(--elevation-hover);transform:translateY(-1px)}.card-link:has([data-live-box]){transform:none}.card-link:hover:has([data-live-box]){transform:none}.card-link:focus-visible{border-color:var(--border-hover)}.fx-zoom{overflow:hidden}.fx-zoom>*{transition:transform var(--motion-standard) var(--ease-standard)}.card-link:hover .fx-zoom>:not([data-live-box],:has(iframe,[data-live-box])){transform:scale(1.012)}.fx-affordance{color:var(--muted-foreground);transition:color var(--motion-fast) var(--ease-standard);align-items:center;gap:.25rem;font-size:.8125rem;display:inline-flex}.fx-affordance svg{transition:transform var(--motion-fast) var(--ease-standard)}.card-link:hover .fx-affordance,.card-link:focus-visible .fx-affordance{color:var(--primary)}.card-link:hover .fx-affordance svg{transform:translate(2px)}.chip,.btn{transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard)}.btn:active,.chip:active{transform:translateY(.5px)}.fx-fade-in{animation:fx-fade-in var(--motion-standard) var(--ease-standard) both}@keyframes fx-fade-in{0%{opacity:0}}.fx-parallax{--fx-offset:clamp(calc(-1 * var(--motion-parallax-max)), var(--fx-depth,0px), var(--motion-parallax-max));transform:translate3d(calc(var(--fx-px,0) * var(--fx-offset)), calc(var(--fx-py,0) * var(--fx-offset)), 0);transition:transform var(--motion-entrance) var(--ease-entrance)}.fx-parallax:has(iframe,[data-live-box]){transition:none;transform:none}.fx-spotlight{isolation:isolate;position:relative}.fx-spotlight:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side, var(--glow), color-mix(in oklch, var(--glow) 45%, transparent) 55%, transparent);position:absolute;inset:-16% -9% -18%}.fx-field{--fx-field-base:.25;--fx-field-period:var(--motion-ambient-drift);contain:strict;height:min(100%,100svh);opacity:calc(var(--fx-field-base) * var(--fx-field-strength,1));position:absolute;inset:0 0 auto;overflow:hidden}.dark .fx-field{--fx-field-base:.38}.fx-field--mask-bottom{-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.fx-field--mask-y{-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%)}.fx-field--mask-radial{-webkit-mask-image:radial-gradient(85% 70% at 50% 45%,#000 35%,#0000 100%);mask-image:radial-gradient(85% 70% at 50% 45%,#000 35%,#0000 100%)}.fx-field__blob{background:radial-gradient(closest-side, var(--c), color-mix(in oklch, var(--c) 55%, transparent) 45%, transparent);border-radius:50%;position:absolute}.fx-field__blob--1{--c:var(--ambient-blue);opacity:.85;width:64%;height:76%;top:-4%;left:0}.fx-field__blob--2{--c:var(--ambient-violet);opacity:.9;width:60%;height:82%;top:4%;right:-6%}.fx-field__blob--3{--c:var(--ambient-violet);opacity:.8;width:70%;height:70%;bottom:-6%;left:12%}.fx-field__blob--4{--c:var(--ambient-blue);opacity:.75;width:54%;height:64%;top:14%;left:24%}.fx-field[data-fx-motion=subtle] .fx-field__blob--1{animation:fx-field-1 calc(var(--motion-ambient) * 4 * var(--fx-field-period)) ease-in-out infinite}.fx-field[data-fx-motion=subtle] .fx-field__blob--2{animation:fx-field-2 calc(var(--motion-ambient) * 4.75 * var(--fx-field-period)) ease-in-out infinite}.fx-field[data-fx-motion=subtle] .fx-field__blob--3{animation:fx-field-3 calc(var(--motion-ambient) * 5.25 * var(--fx-field-period)) ease-in-out infinite}.fx-field[data-fx-motion=subtle] .fx-field__blob--4{animation:fx-field-4 calc(var(--motion-ambient) * 4.375 * var(--fx-field-period)) ease-in-out infinite}.fx-field[data-fx-running=false] .fx-field__blob{animation-play-state:paused}@keyframes fx-field-1{50%{opacity:1;transform:translate(14%,10%)scale(1.12)}}@keyframes fx-field-2{50%{opacity:.75;transform:translate(-16%,12%)scale(.92)}}@keyframes fx-field-3{50%{opacity:1;transform:translate(12%,-14%)scale(1.14)}}@keyframes fx-field-4{50%{opacity:.65;transform:translate(-12%,-10%)scale(.88)}}@media (prefers-reduced-motion:reduce){.fx-field__blob{animation:none!important}}.fx-trace{--fx-trace-color:color-mix(in oklch, var(--primary) 75%, transparent)}.fx-trace__rail{background:var(--border);pointer-events:none;width:1px;list-style:none;position:absolute;top:.875rem;bottom:2.5rem;left:calc(.875rem - .5px);overflow:hidden}.fx-trace__beam{background:linear-gradient(to bottom, transparent 0 86%, var(--fx-trace-color) 95%, transparent 100%);animation:fx-trace-travel var(--motion-ambient) linear infinite;position:absolute;inset:0;transform:translateY(-100%)}.fx-trace [data-trace-step]{position:relative}.fx-trace [data-trace-step]:after{content:"";border-radius:inherit;border:1px solid var(--fx-trace-color);box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 12%, transparent);opacity:0;animation:fx-trace-step var(--motion-ambient) var(--ease-standard) infinite;animation-delay:calc((var(--fx-trace-at,0) + .05) / 1.12 * .7 * var(--motion-ambient));position:absolute;inset:-1px}.fx-trace:not([data-running=true]) .fx-trace__beam,.fx-trace:not([data-running=true]) [data-trace-step]:after{animation-play-state:paused}@keyframes fx-trace-travel{0%{transform:translateY(-100%)}70%,to{transform:translateY(12%)}}@keyframes fx-trace-step{0%{opacity:0}4%{opacity:1}16%,to{opacity:0}}.fx-seq [data-seq]{position:relative}.fx-seq [data-seq]:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:color-mix(in oklch, var(--primary) 7%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--primary) 38%, transparent);position:absolute;inset:0}.fx-seq [data-seq=line]:after{border-radius:.375rem;inset:-2px -6px}.fx-seq[data-play] [data-seq]:after{animation:fx-seq-emphasis calc(var(--fx-seq-step) * 2.4) var(--ease-standard) both;animation-delay:calc(var(--fx-seq-i,0) * var(--fx-seq-step) + var(--motion-standard))}.fx-seq[data-visible=false] [data-seq]:after{animation-play-state:paused}@keyframes fx-seq-emphasis{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.fx-parallax{transform:none}.fx-trace__beam,.fx-trace [data-trace-step]:after,.fx-seq [data-seq]:after{opacity:0;animation:none}.fx-trace__beam{transform:translateY(-100%)}.card-link:hover,.card-link:hover .fx-zoom>*,.btn:active,.chip:active{transform:none}}
