/* Approved gate-only Refined Current artwork. The card and controls do not animate. */
.pyxax-gate { isolation:isolate; background:#080a0c; padding-top:64px; overflow-x:hidden; scrollbar-gutter:stable; }
.pyxax-gate .pyxax-gate-card { position:relative; z-index:1; flex:0 0 auto; background:#0d1117; transform:none; }
.pyxax-gate .pyxax-gate-title { font-size:clamp(24px,4vw,32px); line-height:.98; margin-bottom:16px; }
.pyxax-gate .pyxax-gate-title > span { display:block; }
.pyxax-gate-float-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict;user-select:none}
.pyxax-current-fin img{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none;user-select:none}
.pyxax-refined-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 8% 50%,#0e435b60,transparent 34%),radial-gradient(ellipse at 92% 50%,#0c425b60,transparent 34%)}
.pyxax-current-bank{position:absolute;inset:0 auto 0 0;width:31%;perspective:1000px}.pyxax-current-bank.right{left:auto;right:0;transform:scaleX(-1)}
.pyxax-current-fin{position:absolute;width:clamp(100px,12vw,176px);left:30%;top:50%;margin-top:-120px;animation:pyx-refined-bank-wave 20s cubic-bezier(.77,0,.175,1) infinite}
.pyxax-current-fin.fin-0{top:20%;left:16%;width:clamp(90px,10vw,145px);animation-delay:-3.3s}.pyxax-current-fin.fin-1{animation-delay:-6.6s}.pyxax-current-fin.fin-2{top:80%;left:14%;width:clamp(90px,10vw,145px);animation-delay:-10s}
.pyxax-fin-body{animation:pyx-refined-fin-turn 20s cubic-bezier(.77,0,.175,1) infinite;transform-origin:50% 60%}.fin-0 .pyxax-fin-body{animation-delay:-3.3s}.fin-1 .pyxax-fin-body{animation-delay:-6.6s}.fin-2 .pyxax-fin-body{animation-delay:-10s}
.pyxax-current-bank.right .pyxax-fin-body img{transform:scaleX(-1)}
.pyxax-current-spine{position:absolute;left:16%;top:5%;bottom:5%;width:1px;background:linear-gradient(transparent,#7cbac32a,transparent)}
.pyxax-current-spine:before,.pyxax-current-spine:after{position:absolute;content:'';left:0;width:24px;height:14px;border-left:1px solid #7bc8d05c;border-top:1px solid #7bc8d05c;top:0}.pyxax-current-spine:after{top:auto;bottom:0;border-top:0;border-bottom:1px solid #7bc8d05c}
.pyxax-current-spine i{position:absolute;top:0;left:-1px;width:3px;height:50px;background:linear-gradient(transparent,#9fd9e1aa,transparent);animation:pyx-refined-spine-trace 20s cubic-bezier(.77,0,.175,1) infinite}
@keyframes pyx-refined-bank-wave{0%,100%{transform:translate3d(-18px,-28px,0)}50%{transform:translate3d(38px,34px,0)}}
@keyframes pyx-refined-fin-turn{0%,100%{transform:rotate(-21deg) rotateY(-10deg)}50%{transform:rotate(17deg) rotateY(14deg)}}
@keyframes pyx-refined-spine-trace{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(65vh);opacity:.8}}
@media(max-width:1050px){.pyxax-current-bank{width:25%}.pyxax-current-fin{left:-10%;width:130px}.pyxax-current-fin.fin-0,.pyxax-current-fin.fin-2{left:-18%;width:100px}}
@media(max-width:700px){
 .pyxax-current-bank{width:95px;left:-28px}.pyxax-current-bank.right{left:auto;right:-28px}.pyxax-current-fin{left:10px;width:104px;top:50%;margin-top:-66px;animation-name:pyx-refined-bank-wave-mobile}.pyxax-current-fin.fin-0{top:18%;left:12px;width:86px}.pyxax-current-fin.fin-2{top:82%;left:12px;width:90px}
 .pyxax-current-spine{left:36px;top:3%;bottom:3%}.pyxax-current-spine i{height:35px;animation-name:pyx-refined-spine-mobile}
 /* A narrow transparent frame, not moving artwork behind reading content. Inner 18px onward stays opaque. */
 .pyxax-gate .pyxax-gate-card{background:linear-gradient(90deg,rgba(13,17,23,.45),#0d1117 18px,#0d1117 calc(100% - 18px),rgba(13,17,23,.45))}
}
@keyframes pyx-refined-bank-wave-mobile{0%,100%{transform:translate3d(-12px,-23px,0)}50%{transform:translate3d(8px,23px,0)}}
@keyframes pyx-refined-spine-mobile{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(56vh);opacity:.8}}
@media(prefers-reduced-motion:reduce){.pyxax-refined-scene *{animation:none!important}.pyxax-fin-body{transform:rotate(-9deg)}.pyxax-current-spine i{display:none}}

.pyxax-gate[data-pyx-page-hidden="true"] .pyxax-refined-scene *{animation-play-state:paused!important}
