/* Liquid metal "Join today" button: WebGL liquid-metal ring (paper-design shaders) around a black pill; CSS metal fallback until the shader loads */
@property --lm-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.lm-wrap{display:flex;justify-content:center;margin:0 0 10px}
.lm-btn{position:relative;display:block;width:180px;height:52px;border-radius:100px;text-decoration:none;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 1px rgba(0,0,0,.3),0 36px 14px rgba(0,0,0,.02),0 20px 12px rgba(0,0,0,.08),0 9px 9px rgba(0,0,0,.12),0 2px 5px rgba(0,0,0,.15);transition:box-shadow .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}
.lm-btn:hover{box-shadow:0 0 0 1px rgba(0,0,0,.4),0 12px 6px rgba(0,0,0,.05),0 8px 5px rgba(0,0,0,.1),0 4px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.2)}
.lm-btn:active{transform:translateY(1px) scale(.98)}
.lm-shader{position:absolute;inset:0;border-radius:100px;overflow:hidden;background:conic-gradient(from var(--lm-a),#b9b9b9,#f4f4f4,#8c8c8c,#e9e9e9,#a0a0a0,#fafafa,#b9b9b9);animation:lmSpin 6s linear infinite}
.lm-shader.lm-live{background:#000;animation:none}
.lm-shader canvas{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:block!important;border-radius:100px!important}
@keyframes lmSpin{to{--lm-a:360deg}}
.lm-face{position:absolute;inset:2px;border-radius:100px;background:linear-gradient(180deg,#202020 0%,#000 100%);transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}
.lm-btn:active .lm-face{box-shadow:inset 0 2px 4px rgba(0,0,0,.4),inset 0 1px 2px rgba(0,0,0,.3)}
.lm-label{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;height:100%;font:500 15px/1 var(--fs,Inter,sans-serif);color:#d4d4d4;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}
.lm-ripple{position:absolute;z-index:3;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,rgba(255,255,255,0) 70%);pointer-events:none;transform:translate(-50%,-50%) scale(0);animation:lmRipple .6s ease-out forwards}
@keyframes lmRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.6}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}
@media (prefers-reduced-motion:reduce){.lm-shader{animation:none}}
