@keyframes putageBtnScale { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } } @keyframes putageBtnPulse { 0% { box-shadow: 0 0 0 0 rgba(108, 92, 231, 0.55); } 70% { box-shadow: 0 0 0 14px rgba(108, 92, 231, 0); } 100% { box-shadow: 0 0 0 0 rgba(108, 92, 231, 0); } } @keyframes putageBtnShine { 0% { left: -60%; } 20% { left: 120%; } 100% { left: 120%; } } @keyframes putageBtnArrowSlide { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } } @keyframes putageBtnShake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } } .el-button.putage-btn-anim-scale { animation: putageBtnScale 1.3s ease-in-out infinite; } .el-button.putage-btn-anim-pulse { animation: putageBtnPulse 2s ease-in-out infinite; } .el-button.putage-btn-anim-shine { position: relative; overflow: hidden; } .el-button.putage-btn-anim-shine::after { content: ""; position: absolute; top: -50%; left: -60%; width: 22%; height: 200%; background: rgba(255, 255, 255, 0.35); transform: rotate(25deg); pointer-events: none; animation: putageBtnShine 3s ease-in-out infinite; } .el-button.putage-btn-anim-scale_up { transition: transform 0.25s ease, box-shadow 0.25s ease; } .el-button.putage-btn-anim-scale_up:hover { transform: translateY(-4px) scale(1.04); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18); opacity: 1; } .el-button.putage-btn-anim-push { transition: transform 0.1s ease, box-shadow 0.1s ease; box-shadow: 0 5px 0 rgba(0, 0, 0, 0.22); } .el-button.putage-btn-anim-push:active { transform: translateY(5px); box-shadow: 0 0 0 rgba(0, 0, 0, 0.22); } .el-button.putage-btn-anim-gradient { background: linear-gradient(45deg, #6c5ce7, #a29bfe, #6c5ce7) !important; background-size: 200% auto !important; transition: background-position 0.35s ease; } .el-button.putage-btn-anim-gradient:hover { background-position: right center !important; opacity: 1; } .el-button.putage-btn-anim-border_fill { background: transparent !important; border: 2px solid currentColor !important; position: relative; z-index: 0; overflow: hidden; transition: color 0.25s ease; } .el-button.putage-btn-anim-border_fill::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 0; height: 100%; background: currentColor; transition: width 0.3s ease; z-index: -1; } .el-button.putage-btn-anim-border_fill:hover { color: #fff !important; opacity: 1; } .el-button.putage-btn-anim-border_fill:hover::before { width: 100%; } .el-button.putage-btn-anim-arrow_slide i.bi { display: inline-block; } .el-button.putage-btn-anim-arrow_slide:hover i.bi, .el-button.putage-btn-anim-arrow_slide i.bi.putage-btn-arrow-slide-target { animation: putageBtnArrowSlide 1.2s ease-in-out infinite; } .el-button.putage-btn-anim-glass { background: rgba(255, 255, 255, 0.25) !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.35) !important; } .el-button.putage-btn-anim-glass:hover { background: rgba(255, 255, 255, 0.4) !important; opacity: 1; } .el-button.putage-btn-anim-shake:hover { animation: putageBtnShake 0.45s ease-in-out; opacity: 1; } .el-button.putage-btn-anim-neon { transition: box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease; border: 2px solid currentColor !important; } .el-button.putage-btn-anim-neon:hover { box-shadow: 0 0 8px currentColor, 0 0 24px currentColor; opacity: 1; }