.icon-button{color:var(--text-custom);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.icon-button:hover{background:var(--card-hover);color:var(--span)}.icon-button.small{width:32px;height:32px;font-size:14px}.icon-button.medium{width:40px;height:40px;font-size:18px}.icon-button.large{width:48px;height:48px;font-size:22px}.icon-button.primary{color:var(--span)}.icon-button.primary:hover{background:var(--span-low)}.icon-button.secondary{background:var(--navbar);border:1px solid var(--border);color:var(--text-default);border-radius:8px;padding:8px}.icon-button.secondary:hover{background:var(--navbar-hover);border-color:var(--span);color:var(--text-custom)}.icon-button.danger{color:var(--red)}.icon-button.danger:hover{background:rgba(237,66,69,.1)}.icon-button.ghost{color:inherit;background:0 0}.icon-button.ghost:hover{background:0 0;transform:scale(1.1)}.icon-button.bell:hover{animation:2s ease-in-out bellRing}.icon-button.pulse:hover{animation:1s ease-in-out pulse}.icon-button.rotate:hover{animation:.5s ease-in-out rotate}.icon-button.bounce:hover{animation:.6s ease-in-out bounce}.icon-button.disabled,.icon-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.icon-button.disabled:hover,.icon-button:disabled:hover{color:inherit;background:0 0;transform:none}@keyframes bellRing{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(10deg)}20%,40%,60%,80%{transform:rotate(-10deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}
.skeleton{background:linear-gradient(-45deg,#3a3a3a,#3a3a3a,#4a4a4a,#3a3a3a,#3a3a3a) 0 0/400% 400%;animation:2s ease-in-out infinite skeletonGradient;position:relative;overflow:hidden}.skeleton[data-animation-speed="1"]{animation-duration:1s}.skeleton[data-animation-speed="2"]{animation-duration:2s}.skeleton[data-animation-speed="3"]{animation-duration:3s}.skeleton[data-animation-speed="4"]{animation-duration:4s}.skeleton[data-animation-speed="5"]{animation-duration:5s}@keyframes skeletonGradient{0%{background-position:100% 100%}to{background-position:0 0}}
