@keyframes login-float{0%,to{transform:translate(0,0)scale(1.03)}50%{transform:translateY(-10px)scale(1.05)}}@keyframes login-perk{0%,to{transform:translate(0,0)}50%{transform:translateY(-8px)}}@keyframes perk-in{0%{opacity:0;filter:blur(6px);transform:translateY(16px)scale(.96)}to{opacity:1;filter:none;transform:none}}.login-float{animation:10s ease-in-out infinite login-float}.login-perk{animation:perk-in .9s var(--ease-out-quart) both, login-perk 7s ease-in-out 1s infinite}.login-sweep{mix-blend-mode:screen;background:linear-gradient(100deg,#0000 35%,#ff6e821f 50%,#0000 65%);animation:8s cubic-bezier(.45,0,.25,1) .6s infinite login-sweep}@keyframes login-sweep{0%{opacity:0;transform:translate(-70%)skew(-18deg)}15%,55%{opacity:1}70%,to{opacity:0;transform:translate(170%)skew(-18deg)}}.gauge-track{stroke:#ffffff1a}.gauge-value{transition:stroke-dashoffset 1.2s var(--ease-out-quart)}@media (prefers-reduced-motion:reduce){.login-float,.login-perk,.login-sweep{animation:none!important}}@keyframes rail-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rail-fill{transform-origin:100%;animation:rail-fill 1.1s var(--ease-out-quart) both}@keyframes rail-ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.rail-ping{animation:rail-ping 1.8s var(--ease-out-quart) infinite}@keyframes empty-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-bob{animation:5s ease-in-out infinite empty-bob}.member-card{transform-style:preserve-3d;transition:transform .9s var(--ease-out-quart)}.member-card[data-flipped]{transform:rotateY(180deg)}.member-face{backface-visibility:hidden}.member-back{transform:rotateY(180deg)}.member-shine{background:linear-gradient(115deg,#0000 30%,#ffffff38 45%,#0000 60%) 0 0/250% 100%;animation:6s ease-in-out infinite member-shine}@keyframes member-shine{0%{background-position:120% 0}60%,to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.rail-fill,.rail-ping,.empty-bob,.member-shine{animation:none!important}.member-card{transition:none}}@media print{body:has(.invoice-sheet) header{display:none!important}body:has(.invoice-sheet) footer{display:none!important}body:has(.invoice-sheet) nav{display:none!important}body:has(.invoice-sheet) aside{display:none!important}body:has(.invoice-sheet) .no-print{display:none!important}body:has(.invoice-sheet){background:#fff!important}}
