@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.gallery-card{animation:fadeInUp .6s ease-out;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.image-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.gallery-modal-enter{animation:scaleIn .3s ease-out}.gallery-modal-exit{animation:scaleIn .3s ease-out reverse}.thumbnail-item{transition:all .3s cubic-bezier(.4,0,.2,1)}.thumbnail-item:hover{transform:scale(1.1)}.thumbnail-item.active{animation:pulse 2s infinite}.nav-button{transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-button:hover{transform:scale(1.1);box-shadow:0 10px 25px rgba(0,0,0,.3)}.control-button{transition:all .2s ease-in-out}.control-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,.2)}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.image-zoom{transition:transform .3s cubic-bezier(.4,0,.2,1)}.auto-play-indicator{animation:pulse 1.5s infinite}@media (max-width:768px){.gallery-card:hover{transform:translateY(-4px) scale(1.01)}.nav-button:hover{transform:scale(1.05)}}@media (prefers-color-scheme:dark){.image-shimmer{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200px 100%}}@media (prefers-reduced-motion:reduce){.control-button,.gallery-card,.image-zoom,.nav-button,.thumbnail-item{transition:none;animation:none}.control-button:hover,.gallery-card:hover,.nav-button:hover,.thumbnail-item:hover{transform:none}}