@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes glitch-apparition {
    0% { opacity: 0; transform: scale(0.98) translate(-5px, 2px); }
    10% { opacity: 1; transform: scale(1) translate(0, 0); }
    100% { transform: translate(0, 0); }
}

@keyframes green-flicker {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.25; }
}

@keyframes verrouillage-affichage {
    to { opacity: 1; }
}

@keyframes load-bar-crt {
    to { width: 100%; }
}

@keyframes scan-vertical {
    0% { top: -10%; }
    100% { top: 110%; }
}

@keyframes radar-pulse {
    0%, 100% { fill: rgba(255, 0, 0, 0.05); stroke: rgba(255, 0, 0, 0.3); }
    50% { fill: rgba(255, 0, 0, 0.2); stroke: rgba(255, 0, 0, 0.6); }
}

@keyframes levitation {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-10px); }
}

@keyframes terminal-boot {
    0% { transform: scaleY(0.01); opacity: 0; filter: brightness(2); }
    50% { transform: scaleY(1); opacity: 1; filter: brightness(1.5); }
    100% { transform: scaleY(1); opacity: 1; filter: brightness(1); }
}

@keyframes fade-ecran-allumage {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes fade-ecran-extinction {
    0% { opacity: 1; }
    100% { opacity: 0; }
}