@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.panel-bg{z-index:-10;pointer-events:none;position:fixed;inset:0;overflow:hidden}.panel-bg__grid{background-image:linear-gradient(90deg,#9d97ff0f 1px,#0000 1px),linear-gradient(#9d97ff0f 1px,#0000 1px);background-size:56px 56px;animation:40s linear infinite grid-pan;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 55% at 65% 0,#000 15%,#0000 70%);mask-image:radial-gradient(75% 55% at 65% 0,#000 15%,#0000 70%)}.panel-bg__blob{filter:blur(90px);will-change:transform;border-radius:9999px;animation:24s ease-in-out infinite alternate blob-drift;position:absolute}.panel-bg__blob--a{opacity:.5;background:radial-gradient(circle,#5b52f0 0%,#0000 68%);width:560px;height:560px;top:-220px;right:-140px}.panel-bg__blob--b{opacity:.35;background:radial-gradient(circle,#3f37c9 0%,#0000 68%);width:460px;height:460px;animation-duration:30s;animation-delay:-9s;top:35%;left:-200px}.panel-bg__blob--c{opacity:.22;background:radial-gradient(circle,#9d97ff 0%,#0000 68%);width:380px;height:380px;animation-duration:36s;animation-delay:-17s;bottom:-160px;right:18%}.panel-bg__noise{opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes blob-drift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(-70px,50px)scale(1.15)}to{transform:translate(50px,-40px)scale(.92)}}@keyframes grid-pan{to{background-position:56px 56px,56px 56px}}@keyframes panel-in{0%{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.985)}to{opacity:1;filter:none;transform:none}}.panel-page>:not(.fx-stagger){animation:panel-in .75s var(--ease-out) backwards}.panel-page>:nth-child(2){animation-delay:70ms}.panel-page>:nth-child(3){animation-delay:.14s}.panel-page>:nth-child(4){animation-delay:.21s}.panel-page>:nth-child(5){animation-delay:.28s}.panel-page>:nth-child(n+6){animation-delay:.35s}.fx-in{animation:panel-in .75s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 70ms + var(--d,0s))}.fx-card,.panel-page :where(article,section).rounded-3xl{isolation:isolate;transition:border-color .35s ease, box-shadow .45s var(--ease-out), transform .45s var(--ease-out);position:relative}.fx-card:before,.panel-page :where(article,section).rounded-3xl:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(480px circle at var(--mx,50%) var(--my,0%), #7a71ff21, transparent 45%);transition:opacity .4s;position:absolute;inset:0}.fx-card:after,.panel-page :where(article,section).rounded-3xl:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%), #c9c5ffbf, transparent 60%);-webkit-mask-composite:xor;padding:1px;transition:opacity .4s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (hover:hover){.fx-card:hover,.panel-page :where(article,section).rounded-3xl:hover{border-color:#9d97ff38;box-shadow:0 24px 70px -36px #5b52f0bf}.fx-card:hover:before,.fx-card:hover:after,.panel-page :where(article,section).rounded-3xl:hover:before,.panel-page :where(article,section).rounded-3xl:hover:after{opacity:1}.fx-lift:hover{transform:translateY(-4px)}.fx-card:hover .fx-icon{transform:translateY(-2px)rotate(-8deg)scale(1.1)}}.fx-icon{transition:transform .5s var(--ease-spring)}.fx-ring{isolation:isolate;position:relative}.fx-ring>.fx-ring__border{z-index:2;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--spin), transparent 0 55%, #5b52f0e6 70%, #e2dfff 80%, #5b52f0e6 88%, transparent 100%);-webkit-mask-composite:xor;padding:1px;animation:4.5s linear infinite spin-angle;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes spin-angle{to{--spin:360deg}}.fx-hero-fill{background:linear-gradient(130deg,#8b83ff 0%,#5b52f0 30%,#3f37c9 55%,#6a61ff 80%,#8b83ff 100%) 0 0/260% 260%;animation:10s ease-in-out infinite alternate gradient-pan}@keyframes gradient-pan{0%{background-position:0 30%}to{background-position:100% 70%}}.fx-shine{position:relative;overflow:hidden}.fx-shine:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff47 48%,#0000 66%);animation:5.5s ease-in-out 1.4s infinite shine;position:absolute;inset:0;transform:translate(-130%)}@keyframes shine{0%{transform:translate(-130%)}35%,to{transform:translate(130%)}}.fx-gradient-text{background:linear-gradient(90deg,#fff 0%,#c9c5ff 25%,#7a72ff 50%,#c9c5ff 75%,#fff 100%) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:7s linear infinite text-pan}@keyframes text-pan{to{background-position:200%}}.fx-bar{transform-origin:bottom;animation:bar-grow 1s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 55ms + .3s)}@keyframes bar-grow{0%{opacity:.2;transform:scaleY(0)}}.fx-fill{transform-origin:0;animation:fill-x 1.1s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 90ms + .5s)}@keyframes fill-x{0%{transform:scaleX(0)}}.fx-ring-progress{animation:ring-draw 1.6s var(--ease-out) .35s both}@keyframes ring-draw{0%{stroke-dashoffset:var(--c)}}.fx-orbit{animation:14s linear infinite orbit}@keyframes orbit{to{transform:rotate(360deg)}}.fx-pop{animation:pop .6s var(--ease-spring) backwards;animation-delay:calc(var(--i,0) * 45ms + var(--d,0s))}@keyframes pop{0%{opacity:0;transform:scale(.6)translateY(8px)}}.fx-ping:after{content:"";border:1.5px solid;border-radius:9999px;animation:2s ease-out infinite ping;position:absolute;inset:-3px}@keyframes ping{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}.fx-float{animation:6s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-6px)}}.fx-glow-pulse{animation:2.8s ease-in-out infinite glow-pulse}@keyframes glow-pulse{0%,to{box-shadow:0 10px 30px -6px #5b52f0b3,0 0 #9d97ff59}50%{box-shadow:0 10px 40px -4px #5b52f0,0 0 0 10px #9d97ff00}}.fx-beam{pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.fx-beam:after{content:"";background:linear-gradient(90deg,#0000,#9d97ff,#e2dfff,#9d97ff,#0000);width:40%;animation:7s ease-in-out infinite beam;position:absolute;inset:0}@keyframes beam{0%{transform:translate(-100%)}60%,to{transform:translate(260%)}}.fx-nav-active{background:linear-gradient(90deg,#5b52f052,#5b52f014);position:relative}.fx-nav-active:before{content:"";width:3px;animation:nav-bar .5s var(--ease-spring) both;background:linear-gradient(#e2dfff,#5b52f0);border-radius:0 4px 4px 0;position:absolute;top:8px;bottom:8px;left:-12px;box-shadow:0 0 14px 2px #7a71ffcc}@keyframes nav-bar{0%{opacity:0;transform:scaleY(0)}}.fx-tabbar{animation:tabbar-in .8s var(--ease-out) .15s backwards}@keyframes tabbar-in{0%{opacity:0;transform:translateY(40px)scale(.94)}}@media (prefers-reduced-motion:reduce){.panel-bg__grid,.panel-bg__blob,.panel-page>*,.fx-in,.fx-ring>.fx-ring__border,.fx-hero-fill,.fx-shine:after,.fx-gradient-text,.fx-bar,.fx-fill,.fx-ring-progress,.fx-orbit,.fx-pop,.fx-ping:after,.fx-float,.fx-glow-pulse,.fx-beam:after,.fx-nav-active:before,.fx-tabbar{animation:none!important}}.fx-shine>.fx-ring__border{inset:0}@keyframes bell{20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(7deg)}80%{transform:rotate(-4deg)}}.fx-in.fx-hero-fill{animation:panel-in .75s var(--ease-out) backwards, gradient-pan 10s ease-in-out infinite alternate;animation-delay:calc(var(--i,0) * 70ms + var(--d,0s)), 0s}@media (prefers-reduced-motion:reduce){.fx-in.fx-hero-fill{animation:none!important}}
