html.no-animations *,
html.no-animations *::before,
html.no-animations *::after,
body.no-animations *,
body.no-animations *::before,
body.no-animations *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
}

html.no-animations #status-bar,
body.no-animations #status-bar,
html.no-animations .terminal,
body.no-animations .terminal,
html.no-animations .fullscreen-app,
body.no-animations .fullscreen-app,
html.no-animations .overlay-screen,
body.no-animations .overlay-screen,
html.no-animations .modal-content,
body.no-animations .modal-content,
html.no-animations #lock-screen,
body.no-animations #lock-screen,
html.no-animations #boot-screen,
body.no-animations #boot-screen,
html.no-animations .recovery-container,
body.no-animations .recovery-container {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

@keyframes statusPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(0.92); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes fadeOut {
    from { opacity: 1; transform: scale(1); }
    to { opacity: 0; transform: scale(0.96); }
}

@keyframes fadeInCenter {
    from { opacity: 0; transform: translate(-50%, calc(-50% + 12px)) scale(0.96); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes textFadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes viewPushIn {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes viewPopOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(-20px); }
}

@keyframes slideInRight {
    from { opacity: 0; transform: translateX(30px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes slideOutRight {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(30px); }
}

@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-30px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes menuFadeIn {
    from { opacity: 0; transform: scale(0.92) translateY(-6px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes menuFadeOut {
    from { opacity: 1; transform: scale(1) translateY(0); }
    to { opacity: 0; transform: scale(0.92) translateY(-6px); }
}

@keyframes accordionExpand {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
  40%, 60% { transform: translate3d(4px, 0, 0); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes pulse {
    0% { opacity: 0.3; transform: translateY(0); }
    50% { opacity: 0.7; transform: translateY(-5px); }
    100% { opacity: 0.3; transform: translateY(0); }
}

@keyframes floatParticle {
    0% {
        transform: translateY(0) scale(1) rotate(0deg);
        opacity: 0.8;
    }
    100% {
        transform: translateY(-80vh) scale(1.6) rotate(360deg);
        opacity: 0;
    }
}

@keyframes retroPulseGlow {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 30px rgba(var(--accent-primary-rgb, 71, 144, 230), 0.4), inset 0 0 20px rgba(var(--accent-primary-rgb, 71, 144, 230), 0.3);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 60px rgba(var(--accent-primary-rgb, 71, 144, 230), 0.8), inset 0 0 35px rgba(var(--accent-primary-rgb, 71, 144, 230), 0.6);
    }
}

.loading-dots {
    display: inline-block;
    animation: statusPulse 1.2s infinite ease-in-out;
}
