/* public/assets/css/animations.css */

/* Light & Dark Switch */
.theme-switch { display: flex; justify-content: center; align-items: center; }
.theme-switch .checkbox { opacity: 0; position: absolute; }
.theme-switch .label {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px; border-radius: 50px; position: relative; cursor: pointer;
  box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.1), inset 0px -1px 2px rgba(0, 0, 0, 0.07);
  transition: all 0.4s ease;
}
.dark .theme-switch .label { box-shadow: inset 0px 1px 2px rgba(255, 255, 255, 0.2), inset 0px -1px 2px rgba(255, 255, 255, 0.1); }
.theme-switch .ball { transition: transform 0.4s ease; background-color: currentColor; position: absolute; border-radius: 50%; }
.theme-switch .moon { color: #ffffff; transform-origin: center center; transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); transform: rotate(0); }
.theme-switch .sun { color: #ffbf00; transform-origin: center center; transition: all 0.5s cubic-bezier(0.76, 0, 0.24, 1); transform: rotate(0); }
.theme-switch input:checked + .label .ball { transform: translateX(30px); }

/* Non-critical Loop Animations */
.shake-vertical { -webkit-animation: shake-vertical 16s ease-in-out infinite both; animation: shake-vertical 16s ease-in-out infinite both; }
.slide-y-loop { animation: slide-y-loop 32s linear infinite; }
@keyframes shake-vertical { 0%,100%{transform: translateY(0)} 25%,75%{transform: translateY(40px)} 50%{transform: translateY(0)} }
@keyframes slide-y-loop { 0%{transform: translateY(0)} 100%{transform: translateY(-50%)} }
@keyframes rkTicker{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
