  /* Laboratory scanline effect */
  .crt-scanlines {
    background: linear-gradient(
      rgba(18, 16, 16, 0) 50%, 
      rgba(0, 0, 0, 0.28) 50%
    );
    background-size: 100% 4px;
    pointer-events: none;
  }

  /* Laser scanner sweep line */
  @keyframes deliberateLaserSweep {
    0% { top: 0%; opacity: 0.9; }
    50% { top: 100%; opacity: 1; }
    100% { top: 0%; opacity: 0.9; }
  }
  .laser-line-deliberate {
    animation: deliberateLaserSweep 3.5s ease-in-out infinite;
  }

  /* Slow deliberate radar sweep */
  @keyframes radarSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
  }
  .radar-sweep-beam {
    transform-origin: 50% 50%;
    animation: radarSpin 4s linear infinite;
  }

  /* Stamp slam animation */
  @keyframes stampSlam {
    0% {
      opacity: 0;
      transform: scale(3.8) rotate(-20deg);
    }
    70% {
      opacity: 1;
      transform: scale(0.92) rotate(4deg);
    }
    85% {
      transform: scale(1.05) rotate(-2deg);
    }
    100% {
      transform: scale(1) rotate(0deg);
    }
  }
  .stamp-animate {
    animation: stampSlam 0.65s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
  }

  /* Screen rumble */
  @keyframes screenRumble {
    0% { transform: translate(0, 0); }
    15% { transform: translate(-5px, 4px) rotate(-0.5deg); }
    30% { transform: translate(5px, -3px) rotate(0.5deg); }
    50% { transform: translate(-4px, -4px); }
    70% { transform: translate(4px, 3px); }
    100% { transform: translate(0, 0); }
  }
  .rumble {
    animation: screenRumble 0.5s ease-out;
  }

  /* Reticles and framing */
  .corner-reticle {
    position: absolute;
    width: 24px;
    height: 24px;
    border-color: #00e5ff;
    pointer-events: none;
  }

  /* Terminal log scroll */
  #terminal-log {
    scrollbar-width: thin;
    scrollbar-color: #39ff14 #1c1b1b;
  }
  #terminal-log::-webkit-scrollbar {
    width: 6px;
  }
  #terminal-log::-webkit-scrollbar-thumb {
    background: #39ff14;
  }
  #terminal-log::-webkit-scrollbar-track {
    background: #1c1b1b;
  }

  /* Pulsing step indicator */
  @keyframes stepPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.03); }
  }
  .step-active-pulse {
    animation: stepPulse 1.2s ease-in-out infinite;
  }
