:root{--animehub-transition-fast:0.15s;--animehub-transition-normal:0.25s;--animehub-transition-slow:0.4s;--animehub-ease-out:cubic-bezier(0.25, 0.46, 0.45, 0.94);--animehub-ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--animehub-ease-bounce:cubic-bezier(0.68, -0.55, 0.265, 1.55)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes slideInUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutDown{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,100%{box-shadow:0 0 5px var(--animehub-primary)}50%{box-shadow:0 0 20px var(--animehub-primary),0 0 30px var(--animehub-primary)}}@keyframes progressBar{0%{width:0}100%{width:100%}}.animate-fadeIn{animation:fadeIn var(--animehub-transition-normal) var(--animehub-ease-out) forwards}.animate-fadeInUp{animation:fadeInUp var(--animehub-transition-normal) var(--animehub-ease-out) forwards}.animate-fadeInDown{animation:fadeInDown var(--animehub-transition-normal) var(--animehub-ease-out) forwards}.animate-fadeInLeft{animation:fadeInLeft var(--animehub-transition-normal) var(--animehub-ease-out) forwards}.animate-fadeInRight{animation:fadeInRight var(--animehub-transition-normal) var(--animehub-ease-out) forwards}.animate-scaleIn{animation:scaleIn var(--animehub-transition-normal) var(--animehub-ease-out) forwards}.animate-scaleInBounce{animation:scaleInBounce .5s var(--animehub-ease-out) forwards}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-bounce{animation:1s infinite bounce}.animate-shake{animation:.5s shake}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2s ease-in-out infinite glow}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.skeleton{background:linear-gradient(90deg,var(--animehub-bg-secondary) 25%,var(--animehub-bg) 50%,var(--animehub-bg-secondary) 75%);background-size:200% 100%;animation:1.5s linear infinite shimmer;border-radius:4px}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-title{height:1.5em;width:60%;margin-bottom:.5em}.skeleton-image{aspect-ratio:5/7;width:100%}.spinner-ring{width:40px;height:40px;border:3px solid var(--animehub-bg-secondary);border-top-color:var(--animehub-primary);border-radius:50%;animation:.8s linear infinite spin}.spinner-ring--small{width:20px;height:20px;border-width:2px}.spinner-ring--large{width:60px;height:60px;border-width:4px}.anime-card,.video-card{transition:transform var(--animehub-transition-normal) var(--animehub-ease-out),box-shadow var(--animehub-transition-normal) var(--animehub-ease-out)}.anime-card:hover,.video-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.3)}.anime-card .card-poster img,.video-card .card-poster img{transition:transform .5s var(--animehub-ease-out)}.anime-card:hover .card-poster img,.video-card:hover .card-poster img{transform:scale(1.1)}.anime-card .card-overlay,.video-card .card-overlay{opacity:0;transition:opacity var(--animehub-transition-normal) var(--animehub-ease-out)}.anime-card:hover .card-overlay,.video-card:hover .card-overlay{opacity:1}.btn,.button,button{transition:background-color var(--animehub-transition-fast),transform var(--animehub-transition-fast),box-shadow var(--animehub-transition-fast)}.btn:hover:not(:disabled),.button:hover:not(:disabled),button:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled),.button:active:not(:disabled),button:active:not(:disabled){transform:translateY(0)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px rgba(var(--animehub-primary-rgb),.4)}.link-animated{position:relative}.link-animated::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--animehub-primary);transition:width var(--animehub-transition-normal) var(--animehub-ease-out)}.link-animated:hover::after{width:100%}.badge-live,.badge-new{position:relative}.badge-live::before,.badge-new::before{content:'';position:absolute;inset:-2px;background:inherit;border-radius:inherit;animation:2s infinite pulse;z-index:-1}.search-overlay{opacity:0;visibility:hidden;transition:opacity var(--animehub-transition-normal) var(--animehub-ease-out),visibility var(--animehub-transition-normal)}.search-overlay.active{opacity:1;visibility:visible}.search-overlay .search-content{transform:translateY(-20px);transition:transform var(--animehub-transition-normal) var(--animehub-ease-out)}.search-overlay.active .search-content{transform:translateY(0)}.dropdown-menu{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--animehub-transition-fast),visibility var(--animehub-transition-fast),transform var(--animehub-transition-fast) var(--animehub-ease-out)}.dropdown.open .dropdown-menu,.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.modal-overlay{opacity:0;visibility:hidden;transition:opacity var(--animehub-transition-normal),visibility var(--animehub-transition-normal)}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{transform:scale(.95) translateY(20px);transition:transform var(--animehub-transition-normal) var(--animehub-ease-out)}.modal-overlay.active .modal-content{transform:scale(1) translateY(0)}.back-to-top{opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity var(--animehub-transition-normal),visibility var(--animehub-transition-normal),transform var(--animehub-transition-normal) var(--animehub-ease-out)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-5px)}.site-header{transition:transform var(--animehub-transition-normal) var(--animehub-ease-out),background-color var(--animehub-transition-normal),box-shadow var(--animehub-transition-normal)}.site-header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.3)}.site-header.header-hidden{transform:translateY(-100%)}.accordion-content{max-height:0;overflow:hidden;transition:max-height var(--animehub-transition-slow) var(--animehub-ease-out)}.accordion-item.open .accordion-content{max-height:500px}.accordion-header .icon{transition:transform var(--animehub-transition-normal)}.accordion-item.open .accordion-header .icon{transform:rotate(180deg)}.tab-content{animation:fadeIn var(--animehub-transition-normal) var(--animehub-ease-out)}.animehub-tooltip{opacity:0;transform:translateY(5px);transition:opacity var(--animehub-transition-fast),transform var(--animehub-transition-fast) var(--animehub-ease-out)}.animehub-tooltip.visible{opacity:1;transform:translateY(0)}.progress-fill{transition:width .5s var(--animehub-ease-out)}img.lazy-loaded{animation:fadeIn var(--animehub-transition-normal) var(--animehub-ease-out)}.readmore-content{overflow:hidden;transition:max-height .5s var(--animehub-ease-out)}.readmore-toggle{transition:color var(--animehub-transition-fast)}.rating-stars .star{transition:transform var(--animehub-transition-fast),color var(--animehub-transition-fast)}.rating-stars .star:hover{transform:scale(1.2)}.countdown-unit{animation:1s ease-in-out infinite pulse}.countdown-unit:nth-child(2){animation-delay:.1s}.countdown-unit:nth-child(3){animation-delay:.2s}.countdown-unit:nth-child(4){animation-delay:.3s}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}