/* Strong event motion; geometry remains stable and all effects are optional. */
.fx-scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#ae64ff,#50ddf6,#ffd37a);transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}
.fx-aurora{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.fx-aurora i{position:absolute;width:650px;height:500px;right:-100px;top:-180px;border-radius:50%;background:radial-gradient(ellipse,#158fc069,transparent 68%);animation:fxAurora 13s ease-in-out infinite alternate;animation-play-state:var(--fx-play,paused)}.fx-aurora i:nth-child(2){background:radial-gradient(ellipse,#9744e987,transparent 66%);right:auto;left:-200px;top:100px;animation-duration:18s;animation-delay:-5s}.fx-aurora i:nth-child(3){background:radial-gradient(ellipse,#8553ce66,transparent 68%);right:25%;top:0;animation-duration:15s;animation-delay:-8s}.fx-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.fx-zone{--fx-play:paused}.fx-zone.fx-active{--fx-play:running}.tft-hero .hero-sparks{display:none}.tft-hero .tft-hero-art img{animation:fxPengu 6s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:var(--fx-play,paused);filter:drop-shadow(0 12px 18px #2fcaff35)}.fx-portal-ring{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;border:2px solid #6be2fd66;border-left-color:transparent;border-bottom-color:#995bdf22;box-shadow:inset 0 0 16px #49ddff12,0 0 18px #49ddff12;animation:fxRing 12s linear infinite;animation-play-state:var(--fx-play,paused);z-index:0;pointer-events:none}.fx-portal-ring:nth-of-type(2){width:300px;height:300px;margin:-150px 0 0 -150px;border-color:#b887e866;border-top-color:transparent;border-right-color:transparent;animation-duration:19s;animation-direction:reverse}.fx-portal-ring:nth-of-type(3){width:330px;height:330px;margin:-165px 0 0 -165px;border:1px dashed #a9b6fb44;animation-duration:32s}.tft-hero .art-halo{background:radial-gradient(circle,#277ded30,transparent 70%);width:250px;height:250px;box-shadow:0 0 70px #4f65e233}.tft-hero-art figcaption{animation:fxCaption 5s ease-in-out infinite;animation-play-state:var(--fx-play,paused)}
@supports(background-clip:text){.tft-hero h1 em{background-image:linear-gradient(100deg,#f5c66f 5%,#fff0c0 30%,#f9d482 47%,#e8bbff 60%,#f9d482 77%,#f5c66f);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:fxGold 7s ease-in-out infinite;animation-play-state:var(--fx-play,paused)}}
.fx-card{--fx-rx:0deg;--fx-ry:0deg;--fx-lift:0px;position:relative;isolation:isolate;transform:perspective(850px) rotateX(var(--fx-rx)) rotateY(var(--fx-ry)) translateY(var(--fx-lift));transition:transform .22s ease,box-shadow .25s,border-color .25s}.fx-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;background:radial-gradient(320px circle at var(--fx-x,50%) var(--fx-y,20%),#a874ed18,transparent 65%);opacity:0;transition:opacity .25s}.fx-card.fx-hover{--fx-lift:-6px;border-color:#be9ce5;box-shadow:0 16px 32px #5a338329,0 0 0 1px #b487e518}.fx-card.fx-hover:after{opacity:1}.fx-card.fx-hover .community-avatar{box-shadow:0 0 0 4px #e6d8f6}.fx-card .community-avatar{transition:box-shadow .25s}.training-card.fx-card:hover{transform:perspective(850px) rotateX(var(--fx-rx)) rotateY(var(--fx-ry)) translateY(var(--fx-lift))}
.fx-cta{position:relative;isolation:isolate;overflow:hidden}.fx-cta:after{content:'';position:absolute;top:-70%;left:-55%;width:35%;height:240%;background:linear-gradient(90deg,transparent,#ffffff66,transparent);transform:rotate(25deg) translateX(-200%);pointer-events:none;animation:fxShine 5.5s ease-in-out infinite;animation-play-state:var(--fx-play,paused)}.fx-ripple{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;pointer-events:none;border-radius:50%;background:#a66df355;z-index:4}.btn-primary .fx-ripple{background:#ffffff66}.fx-ripple-host{position:relative;overflow:hidden}
.invite-banner.fx-zone{position:relative;isolation:isolate}.invite-banner.fx-zone:before{content:'';position:absolute;inset:-80%;background:conic-gradient(from 0deg,transparent 0deg,#9780f12a 50deg,transparent 95deg,#3cbeda26 190deg,transparent 260deg);animation:fxRing 28s linear infinite;animation-play-state:var(--fx-play,paused);z-index:-1;pointer-events:none}.invite-banner.fx-zone .invite-orbit{animation:fxOrbitPulse 4s ease-in-out infinite;animation-play-state:var(--fx-play,paused)}.invite-banner.fx-zone .invite-orbit:before{animation-duration:14s;animation-play-state:var(--fx-play,paused)}.invite-banner.fx-zone .invite-steps b{animation-play-state:var(--fx-play,paused)}.section-head h2{position:relative;width:fit-content;max-width:100%;padding-bottom:7px}.section-head h2:after{content:'';position:absolute;left:0;bottom:0;width:44px;height:3px;border-radius:3px;background:linear-gradient(90deg,#9664d6,#58cbd9);transition:width .8s cubic-bezier(.16,1,.3,1)}.section-head.fx-revealed h2:after{width:min(100%,110px)}
.motion-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #c7ace84d;border-radius:20px;background:#ffffff0b;color:#dccbe9;padding:7px 12px;font:inherit;font-size:11px;margin-top:17px;cursor:pointer;min-height:34px}.motion-toggle:before{content:'';width:7px;height:7px;border-radius:50%;background:#96e5e5;box-shadow:0 0 9px #74d5eb}.motion-toggle[aria-pressed=false]:before{background:#aa96b9;box-shadow:none}.motion-toggle:focus-visible{outline:2px solid #d4aaff;outline-offset:3px}.motion-toggle:disabled{cursor:default}
@keyframes fxAurora{0%{transform:translate3d(-5%,0,0) rotate(-15deg) scale(.9)}100%{transform:translate3d(16%,20%,0) rotate(18deg) scale(1.2)}}@keyframes fxPengu{0%,100%{transform:translate3d(-3px,4px,0) rotate(-3deg) scale(.98)}50%{transform:translate3d(5px,-13px,0) rotate(3deg) scale(1.035)}}@keyframes fxCaption{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-6px) rotate(-2deg)}}@keyframes fxRing{to{transform:rotate(360deg)}}@keyframes fxGold{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes fxShine{0%,60%{transform:rotate(25deg) translateX(-200%)}90%,100%{transform:rotate(25deg) translateX(650%)}}@keyframes fxOrbitPulse{0%,100%{transform:scale(1);box-shadow:0 0 25px #a57cde20}50%{transform:scale(1.025);box-shadow:0 0 48px #a57cde55}}
@media(max-width:650px){.fx-aurora i{width:430px;height:460px}.fx-aurora i:nth-child(3){display:none}.fx-portal-ring{width:205px;height:205px;margin:-102.5px 0 0 -102.5px}.fx-portal-ring:nth-of-type(2){width:235px;height:235px;margin:-117.5px 0 0 -117.5px}.fx-portal-ring:nth-of-type(3){display:none}.tft-hero .tft-hero-art img{animation:fxPenguMobile 7s ease-in-out infinite;animation-play-state:var(--fx-play,paused)}.fx-card{transform:none!important}.motion-toggle{min-height:40px}.section-head h2:after{height:2px}}
@keyframes fxPenguMobile{0%,100%{transform:translateY(2px)}50%{transform:translateY(-7px)}}
body.motion-light .fx-aurora i,body.motion-light .fx-portal-ring,body.motion-light .tft-hero-art img,body.motion-light .tft-hero-art figcaption,body.motion-light .tft-hero h1 em,body.motion-light .fx-cta:after,body.motion-light .invite-banner:before,body.motion-light .invite-orbit,body.motion-light .invite-orbit:before,body.motion-light .invite-steps b,body.motion-light .live-dot:before{animation:none!important}body.motion-light .fx-particles,body.motion-light .fx-ripple{display:none}body.motion-light .fx-card{transform:none!important;transition:none}body.motion-light .fx-card:after{display:none}.page-hidden .fx-zone,.page-hidden .fx-active{--fx-play:paused}.page-hidden .tft-hero-art img{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.fx-aurora i,.fx-portal-ring,.tft-hero-art img,.tft-hero-art figcaption,.tft-hero h1 em,.fx-cta:after,.invite-banner:before,.invite-orbit,.invite-orbit:before,.invite-steps b{animation:none!important}.fx-particles,.fx-ripple{display:none}.fx-card{transform:none!important;transition:none}.section-head h2:after{transition:none}}
