@charset "UTF-8";

/* Each effect owns a decoration, a custom property, or the independent translate property. */
.mjfx-decoration{pointer-events:none!important;user-select:none}
html:not(.mjfx-interactions-on) .mjfx-decoration{display:none!important}
html.mjfx-interactions-on .mjfx-motion{animation-play-state:paused}
html.mjfx-interactions-on .mjfx-inview .mjfx-motion{animation-play-state:running}
html.mjfx-interactions-ready.mjfx-interactions-on .mjfx-reveal-pending{opacity:0}

/* Rings stay behind the title and buttons, with no opaque layer over the artwork. */
.mjfx-halo-wrap{position:absolute;z-index:2;right:10%;top:22%;width:clamp(290px,35vw,560px);aspect-ratio:1;color:#dec18c;opacity:.82;isolation:isolate;translate:calc(var(--mjfx-hero-x,0px) * -.45) calc(var(--mjfx-hero-y,0px) * -.45);transition:translate 1s ease}
.mjfx-halo-glow{position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle,transparent 45%,#f3c6770c 57%,#f3c67718 60%,transparent 68%);filter:blur(5px);animation:mjfx-aura-breathe 6s ease-in-out infinite}
.mjfx-halo-ring{position:absolute;inset:5%;border:1px solid #e8c5887d;border-radius:50%;box-shadow:0 0 17px #e3bb5929,inset 0 0 22px #e3bb5910;animation:mjfx-ring-spin 36s linear infinite}
.mjfx-halo-ring:before,.mjfx-halo-ring:after{content:"";position:absolute;border-radius:50%}
.mjfx-halo-ring:before{inset:7px;border:1px dashed #d6b46c90}
.mjfx-halo-ring:after{inset:-6px;background:conic-gradient(from 20deg,transparent 0deg 50deg,#fff0b800 50deg,#fff0b8b0 78deg,transparent 80deg 220deg,#e2ba7512 220deg,#e2ba75a8 250deg,transparent 252deg);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 1px))}
.mjfx-halo-ring-inner{inset:18%;border-color:#e8c58866;animation-duration:24s;animation-direction:reverse;box-shadow:none}
.mjfx-halo-ring-inner:before{inset:6%;border-style:solid;border-color:#d6b46c30}
.mjfx-halo-ring-inner:after{inset:14%;border:1px solid #dfbd7a48;border-radius:0;transform:rotate(45deg);background:transparent;-webkit-mask:none;mask:none}
.mjfx-halo-runes{position:absolute;inset:0;animation:mjfx-ring-spin 66s linear infinite}
.mjfx-halo-runes>span{position:absolute;left:50%;top:50%;font:clamp(12px,1.4vw,21px)/1 var(--serif,"KaiTi",serif);color:#d8bc858c;text-shadow:0 0 9px #eac27955;transform:translate(-50%,-50%) rotate(var(--mjfx-angle)) translateY(clamp(-254px,-15.9vw,-132px)) rotate(90deg)}
.mjfx-halo-diamond{position:absolute;left:50%;top:4%;width:7px;height:7px;background:#f3dba8;box-shadow:0 0 15px 2px #eec7797d;transform:translate(-50%,-50%) rotate(45deg)}

/* Float the image wrapper, preserving the original image's size and reveal animation. */
.mjfx-logo-shell{position:relative;display:block;isolation:isolate}
html.mjfx-interactions-on .mjfx-logo-shell{animation:mjfx-logo-float 6s ease-in-out infinite;animation-play-state:paused}
html.mjfx-interactions-on .mjfx-logo-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,#ffe5a400 35%,#fff3c9db 48%,#fffdf5 50%,#ffe5a4a8 52%,transparent 65%);background-size:280% 100%;background-position:150% 0;-webkit-mask-image:var(--mjfx-logo-mask);mask-image:var(--mjfx-logo-mask);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;mix-blend-mode:screen;animation:mjfx-logo-glint 6.5s ease-in-out infinite;animation-play-state:paused;opacity:.9}
html.mjfx-interactions-on .mjfx-inview .mjfx-logo-shell:after{animation-play-state:running}
html.mjfx-interactions-on .mjfx-parallax-picture{translate:var(--mjfx-hero-x,0px) var(--mjfx-hero-y,0px);scale:1.035;transition:translate 1.1s cubic-bezier(.2,.7,.2,1),scale 1s ease}
html.mjfx-interactions-on .mjfx-parallax-copy{translate:calc(var(--mjfx-hero-x,0px) * -.32) calc(var(--mjfx-hero-y,0px) * -.32);transition:translate .9s cubic-bezier(.2,.7,.2,1)}

/* Sheen and attraction never change link destinations or disabled state. */
html.mjfx-interactions-on .mjfx-scan{overflow:hidden;isolation:isolate}
html.mjfx-interactions-on .mjfx-scan:before{content:"";position:absolute;inset:-50% -110%;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#fff1c919 43%,#fff9dfb3 49%,#fff1c938 54%,transparent 62%);translate:-38% 0;opacity:0;z-index:2;animation:mjfx-button-scan 5.8s ease-in-out infinite;animation-play-state:paused}
html.mjfx-interactions-on .mjfx-inview.mjfx-scan:before{animation-play-state:running}
html.mjfx-interactions-on .mjfx-scan:hover:before{opacity:.9}
html.mjfx-interactions-on .mjfx-magnet{translate:var(--mjfx-magnet-x,0px) var(--mjfx-magnet-y,0px);transition:translate .35s cubic-bezier(.2,.8,.2,1),background .25s,transform .25s,color .25s}
html.mjfx-interactions-on .mjfx-tilt{transform:perspective(1100px) rotateX(var(--mjfx-tilt-x,0deg)) rotateY(var(--mjfx-tilt-y,0deg));transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .6s;will-change:auto}
html.mjfx-interactions-on .mjfx-tilt:hover{box-shadow:0 22px 45px #0005,0 0 23px #d1ad5b1f;will-change:transform}
.mjfx-card-light{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;background:radial-gradient(ellipse at var(--mjfx-shine-x,50%) var(--mjfx-shine-y,35%),#f1d59f35,transparent 56%);mix-blend-mode:screen;transition:opacity .5s}
html.mjfx-interactions-on .mjfx-tilt:hover .mjfx-card-light{opacity:1}

/* Weapon illustrations keep their original rotation; translate supplies the float. */
html.mjfx-interactions-on .mjfx-weapon-float{animation:mjfx-weapon-float 4.8s ease-in-out infinite;animation-play-state:paused}
html.mjfx-interactions-on .mjfx-inview .weapon-panel.is-active .mjfx-weapon-float{animation-play-state:running}
html.mjfx-interactions-on .weapon-panel:not(.is-active) .mjfx-weapon-float{animation-play-state:paused!important}
.mjfx-weapon-array{position:absolute;left:31%;top:50%;width:320px;aspect-ratio:1;translate:-50% -50%;z-index:0;opacity:.82;filter:drop-shadow(0 0 13px #d7ac4a20)}
.mjfx-array-ring{position:absolute;inset:0;border-radius:50%;border:1px solid #cfb5767a;animation:mjfx-ring-spin 24s linear infinite;background:repeating-conic-gradient(from 0deg,#e6c78744 0deg 1deg,transparent 1deg 15deg);-webkit-mask:radial-gradient(closest-side,transparent 84%,#000 85%,#000 92%,transparent 93%,transparent 97%,#000 98%);mask:radial-gradient(closest-side,transparent 84%,#000 85%,#000 92%,transparent 93%,transparent 97%,#000 98%)}
.mjfx-array-square{position:absolute;inset:18%;border:1px solid #d7b87570;transform:rotate(45deg);animation:mjfx-ring-spin 38s linear reverse infinite}
.mjfx-array-square:before{content:"";position:absolute;inset:-1px;border:1px solid #d7b87545;transform:rotate(45deg)}
.mjfx-array-core{position:absolute;inset:28%;border:1px dashed #d7b87577;border-radius:50%;animation:mjfx-ring-spin 18s linear infinite}
.mjfx-array-core:after{content:"";position:absolute;inset:18%;border:1px solid #e5c77b42;border-radius:50%;box-shadow:0 0 16px #e0b86018}
.mjfx-weapon-sweep{position:absolute;z-index:4;left:0;top:20%;width:100%;height:65%;opacity:0;translate:-130% 0;transform:rotate(-23deg);background:linear-gradient(90deg,transparent 0%,transparent 43%,#d8ae4810 46%,#e8c57770 49.6%,#fff1b9d9 50%,#e8c57770 50.4%,transparent 54%,transparent 100%);filter:drop-shadow(0 0 8px #e9c66e60)}
html.mjfx-interactions-on .mjfx-weapon-caption-flash{color:#ead6ad}

@keyframes mjfx-ring-spin{from{rotate:0deg}to{rotate:360deg}}
@keyframes mjfx-aura-breathe{0%,100%{opacity:.42;scale:.97}50%{opacity:.9;scale:1.045}}
@keyframes mjfx-logo-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes mjfx-logo-glint{0%,18%{background-position:150% 0;opacity:0}23%{opacity:.9}46%{background-position:-50% 0;opacity:.9}52%,100%{background-position:-50% 0;opacity:0}}
@keyframes mjfx-button-scan{0%,47%{translate:-38% 0;opacity:0}51%{opacity:.95}66%{translate:38% 0;opacity:.95}71%,100%{translate:38% 0;opacity:0}}
@keyframes mjfx-weapon-float{0%,100%{translate:0 0}50%{translate:0 -12px}}

@media(min-width:1500px){.mjfx-weapon-array{width:380px}}
@media(max-width:1099px){.mjfx-halo-wrap{right:4%;width:360px;top:24%}.mjfx-halo-runes>span{transform:translate(-50%,-50%) rotate(var(--mjfx-angle)) translateY(-164px) rotate(90deg)}.mjfx-weapon-array{width:265px;left:29%}}
@media(max-width:767px){.mjfx-halo-wrap{right:-31px;top:15%;width:260px;opacity:.42}.mjfx-halo-runes>span{font-size:12px;transform:translate(-50%,-50%) rotate(var(--mjfx-angle)) translateY(-118px) rotate(90deg)}.mjfx-weapon-array{left:50%;top:145px;width:230px;opacity:.6}html.mjfx-interactions-on .mjfx-logo-shell{animation-name:mjfx-logo-float;animation-duration:7s}html.mjfx-interactions-on .mjfx-parallax-picture{scale:1;translate:0 0}html.mjfx-interactions-on .mjfx-parallax-copy{translate:0 0}.mjfx-weapon-sweep{top:5%;height:60%}}
@media(hover:none),(pointer:coarse){html.mjfx-interactions-on .mjfx-magnet{translate:0 0}html.mjfx-interactions-on .mjfx-tilt{transform:none;box-shadow:none}.mjfx-card-light{display:none}}

/* Disable immediately, even before event listeners or observers have reacted. */
html[data-effects="off"] .mjfx-decoration{display:none!important}
html[data-effects="off"] .mjfx-reveal-pending{opacity:1!important}
html[data-effects="off"] .mjfx-logo-shell,html[data-effects="off"] .mjfx-weapon-float{animation:none!important;translate:0 0!important}
html[data-effects="off"] .mjfx-parallax-picture,html[data-effects="off"] .mjfx-parallax-copy,html[data-effects="off"] .mjfx-magnet{translate:0 0!important;scale:1!important;transition:none!important}
html[data-effects="off"] .mjfx-tilt{transform:none!important;transition:none!important}
html[data-effects="off"] .mjfx-logo-shell:after,html[data-effects="off"] .mjfx-scan:before{display:none!important}
html.mjfx-page-hidden .mjfx-motion,html.mjfx-page-hidden .mjfx-logo-shell:after,html.mjfx-page-hidden .mjfx-scan:before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.mjfx-decoration,.mjfx-logo-shell:after,.mjfx-scan:before{display:none!important}.mjfx-reveal-pending{opacity:1!important}.mjfx-motion,.mjfx-logo-shell,.mjfx-weapon-float{animation:none!important;translate:0 0!important}.mjfx-parallax-picture,.mjfx-parallax-copy,.mjfx-magnet{translate:0 0!important;scale:1!important;transition:none!important}.mjfx-tilt{transform:none!important;transition:none!important}}
