* {
  box-sizing: border-box;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -khtml-user-select: none;
}

body {
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: #fff;
  font-family: 'Courier New', monospace;
  margin: 0;
  padding: 20px;
  text-align: center;
  height: 100vh;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  cursor: none;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -khtml-user-select: none;
}

.particles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.particle {
  position: absolute;
  width: 2px;
  height: 2px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  animation: float 6s infinite linear;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.5);
}

.particle:nth-child(odd) {
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.4);
  animation-duration: 8s;
}

.particle:nth-child(3n) {
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
  animation-duration: 10s;
  width: 3px;
  height: 3px;
}

@keyframes float {
  0% {
    transform: translateY(100vh) translateX(0);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(-100px) translateX(100px);
    opacity: 0;
  }
}

@keyframes crtFlicker {
  0%, 100% {
    opacity: 1;
    filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  }
  2% {
    opacity: 0.98;
    filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(255, 255, 255, 0.6));
  }
  4% {
    opacity: 1;
    filter: brightness(0) invert(1) drop-shadow(0 0 12px rgba(255, 255, 255, 1));
  }
  8% {
    opacity: 0.99;
    filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(255, 255, 255, 0.4));
  }
  70% {
    opacity: 1;
    filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  }
  72% {
    opacity: 0.97;
    filter: brightness(0) invert(1) drop-shadow(0 0 14px rgba(255, 255, 255, 1.2));
  }
  74% {
    opacity: 1;
    filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(255, 255, 255, 0.6));
  }
}

.custom-cursor {
  position: fixed;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transition: none;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  will-change: transform;
}

.custom-cursor::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 4px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 5px rgba(255, 255, 255, 0.8);
}

.music-button {
  position: fixed;
  bottom: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.4);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 6px 10px;
  cursor: none;
  z-index: 1000;
  font-family: 'Courier New', monospace;
  font-size: 11px;
  border-radius: 3px;
  transition: all 0.3s ease;
  backdrop-filter: blur(5px);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.6);
  letter-spacing: 0.5px;
  min-width: 80px;
  text-align: center;
  opacity: 0.8;
  pointer-events: auto !important;
}

.music-button:hover {
  background: rgba(0, 0, 0, 0.6);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
  opacity: 1;
}

.music-button:active {
  transform: translateY(0);
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

.eldorado-icon {
  position: fixed;
  top: 20px;
  left: 20px;
  width: 60px;
  height: 60px;
  z-index: 1000;
  transform: scaleX(1.1);
  user-select: none;
  pointer-events: auto !important;
  transition: transform 0.1s ease-out, opacity 0.3s ease;
  cursor: pointer;
  filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  animation: crtFlicker 2s infinite;
  opacity: 0.8;
  transform-style: preserve-3d;
}

.eldorado-icon:hover {
  opacity: 1;
}

.radio-button {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1000;
  text-decoration: none;
}

.radio-icon {
  width: 60px;
  height: 60px;
  z-index: 1000;
  transform: scaleX(1.1);
  user-select: none;
  pointer-events: auto !important;
  transition: transform 0.1s ease-out, opacity 0.3s ease;
  cursor: pointer;
  filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  animation: crtFlicker 2s infinite;
  opacity: 0.8;
  transform-style: preserve-3d;
}

.radio-icon:hover {
  opacity: 1;
}

@media (max-width: 768px) {
  body {
    cursor: auto;
  }
  
  .custom-cursor {
    display: none;
  }
  
  .music-button {
    cursor: pointer;
    bottom: 20px;
    right: 20px;
    padding: 8px 12px;
    font-size: 12px;
    min-width: 60px;
  }
  
  .eldorado-icon {
    top: 15px;
    left: 15px;
    width: 50px;
    height: 50px;
    animation: none;
    filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
    pointer-events: auto !important;
  }
  
  .radio-button {
    bottom: 15px;
    left: 15px;
  }
  
  .radio-icon {
    width: 50px;
    height: 50px;
    animation: none;
    filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
    pointer-events: auto !important;
  }
  
  .particle {
    width: 1px;
    height: 1px;
  }
  
  .particle:nth-child(3n) {
    width: 2px;
    height: 2px;
  }
  
  .crt {
    padding: 10px;
    width: 95%;
  }
  
  .ascii-image, .keta-image {
    max-width: 90%;
    width: 90%;
  }
}

@media (max-width: 480px) {
  .music-button {
    bottom: 15px;
    right: 15px;
    padding: 6px 10px;
    font-size: 11px;
    min-width: 50px;
  }
  
  .eldorado-icon {
    top: 10px;
    left: 10px;
    width: 40px;
    height: 40px;
    animation: none;
    filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
    pointer-events: auto !important;
  }
  
  .ascii-image, .keta-image {
    max-width: 95%;
    width: 95%;
  }
}

.crt {
  max-width: 1400px;
  width: 98%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  padding: 5px;
  box-sizing: border-box;
  overflow: visible;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -khtml-user-select: none;
}

.ascii-logo {
  margin: 0;
  text-align: center;
  overflow: visible;
  max-width: 100%;
  width: 100%;
  flex-shrink: 0;
}

.ascii-image {
  max-width: 75%;
  width: 75%;
  height: auto;
  max-height: 75vh;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -khtml-user-select: none;
  pointer-events: none;
  transform: scaleX(1.2);
  -webkit-transform: scaleX(1.2);
  -moz-transform: scaleX(1.2);
  -o-transform: scaleX(1.2);
  filter: 
    invert(1)
    brightness(1.4)
    contrast(1.3)
    saturate(1.2)
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
    drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  -webkit-animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  -moz-animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  -o-animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  -webkit-filter: 
    invert(1)
    brightness(1.4)
    contrast(1.3)
    saturate(1.2)
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
    drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
}

@-webkit-keyframes asciiGlow {
  from {
    -webkit-filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  to {
    -webkit-filter: 
      invert(1)
      brightness(1.6)
      contrast(1.4)
      saturate(1.3)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 30px rgba(255, 255, 255, 0.2));
  }
}

@-moz-keyframes asciiGlow {
  from {
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  to {
    filter: 
      invert(1)
      brightness(1.6)
      contrast(1.4)
      saturate(1.3)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 30px rgba(255, 255, 255, 0.2));
  }
}

@-o-keyframes asciiGlow {
  from {
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  to {
    filter: 
      invert(1)
      brightness(1.6)
      contrast(1.4)
      saturate(1.3)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 30px rgba(255, 255, 255, 0.2));
  }
}

@keyframes asciiGlow {
  from {
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  to {
    filter: 
      invert(1)
      brightness(1.6)
      contrast(1.4)
      saturate(1.3)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 30px rgba(255, 255, 255, 0.2));
  }
}

/* Efecto de parpadeo de neón fallando */
@-webkit-keyframes neonFlicker {
  0%, 100% { 
    opacity: 1;
    -webkit-filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  1% { 
    opacity: 0.8;
    -webkit-filter: 
      invert(1)
      brightness(0.8)
      contrast(0.9)
      saturate(0.8)
      drop-shadow(0 0 5px rgba(255, 255, 255, 0.1));
  }
  2% { 
    opacity: 1;
    -webkit-filter: 
      invert(1)
      brightness(1.6)
      contrast(1.5)
      saturate(1.4)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 25px rgba(255, 255, 255, 0.3));
  }
  3% { 
    opacity: 0.9;
    -webkit-filter: 
      invert(1)
      brightness(1.2)
      contrast(1.1)
      saturate(1.0)
      drop-shadow(0 0 8px rgba(255, 255, 255, 0.2));
  }
  4% { 
    opacity: 1;
    -webkit-filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  5% { 
    opacity: 0.7;
    -webkit-filter: 
      invert(1)
      brightness(0.6)
      contrast(0.7)
      saturate(0.6)
      drop-shadow(0 0 3px rgba(255, 255, 255, 0.05));
  }
  6% { 
    opacity: 1;
    -webkit-filter: 
      invert(1)
      brightness(1.8)
      contrast(1.6)
      saturate(1.5)
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.6))
      drop-shadow(0 0 35px rgba(255, 255, 255, 0.4));
  }
}

@-moz-keyframes neonFlicker {
  0%, 100% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  1% { 
    opacity: 0.8;
    filter: 
      invert(1)
      brightness(0.8)
      contrast(0.9)
      saturate(0.8)
      drop-shadow(0 0 5px rgba(255, 255, 255, 0.1));
  }
  2% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.6)
      contrast(1.5)
      saturate(1.4)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 25px rgba(255, 255, 255, 0.3));
  }
  3% { 
    opacity: 0.9;
    filter: 
      invert(1)
      brightness(1.2)
      contrast(1.1)
      saturate(1.0)
      drop-shadow(0 0 8px rgba(255, 255, 255, 0.2));
  }
  4% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  5% { 
    opacity: 0.7;
    filter: 
      invert(1)
      brightness(0.6)
      contrast(0.7)
      saturate(0.6)
      drop-shadow(0 0 3px rgba(255, 255, 255, 0.05));
  }
  6% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.8)
      contrast(1.6)
      saturate(1.5)
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.6))
      drop-shadow(0 0 35px rgba(255, 255, 255, 0.4));
  }
}

@-o-keyframes neonFlicker {
  0%, 100% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  1% { 
    opacity: 0.8;
    filter: 
      invert(1)
      brightness(0.8)
      contrast(0.9)
      saturate(0.8)
      drop-shadow(0 0 5px rgba(255, 255, 255, 0.1));
  }
  2% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.6)
      contrast(1.5)
      saturate(1.4)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 25px rgba(255, 255, 255, 0.3));
  }
  3% { 
    opacity: 0.9;
    filter: 
      invert(1)
      brightness(1.2)
      contrast(1.1)
      saturate(1.0)
      drop-shadow(0 0 8px rgba(255, 255, 255, 0.2));
  }
  4% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  5% { 
    opacity: 0.7;
    filter: 
      invert(1)
      brightness(0.6)
      contrast(0.7)
      saturate(0.6)
      drop-shadow(0 0 3px rgba(255, 255, 255, 0.05));
  }
  6% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.8)
      contrast(1.6)
      saturate(1.5)
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.6))
      drop-shadow(0 0 35px rgba(255, 255, 255, 0.4));
  }
}

@keyframes neonFlicker {
  0%, 100% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  1% { 
    opacity: 0.8;
    filter: 
      invert(1)
      brightness(0.8)
      contrast(0.9)
      saturate(0.8)
      drop-shadow(0 0 5px rgba(255, 255, 255, 0.1));
  }
  2% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.6)
      contrast(1.5)
      saturate(1.4)
      drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))
      drop-shadow(0 0 25px rgba(255, 255, 255, 0.3));
  }
  3% { 
    opacity: 0.9;
    filter: 
      invert(1)
      brightness(1.2)
      contrast(1.1)
      saturate(1.0)
      drop-shadow(0 0 8px rgba(255, 255, 255, 0.2));
  }
  4% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.4)
      contrast(1.3)
      saturate(1.2)
      drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  }
  5% { 
    opacity: 0.7;
    filter: 
      invert(1)
      brightness(0.6)
      contrast(0.7)
      saturate(0.6)
      drop-shadow(0 0 3px rgba(255, 255, 255, 0.05));
  }
  6% { 
    opacity: 1;
    filter: 
      invert(1)
      brightness(1.8)
      contrast(1.6)
      saturate(1.5)
      drop-shadow(0 0 20px rgba(255, 255, 255, 0.6))
      drop-shadow(0 0 35px rgba(255, 255, 255, 0.4));
  }
}

.keta-logo {
  margin: 20px auto 0;
  text-align: center;
  overflow: visible;
  max-width: 100%;
  width: 100%;
  flex-shrink: 0;
}

.keta-image {
  max-width: 60%;
  width: 60%;
  height: auto;
  max-height: 50vh;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -khtml-user-select: none;
  pointer-events: none;
  transform: scaleX(1.1);
  -webkit-transform: scaleX(1.1);
  -moz-transform: scaleX(1.1);
  -o-transform: scaleX(1.1);
  filter: 
    invert(1)
    brightness(1.4)
    contrast(1.3)
    saturate(1.2)
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
    drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
  -webkit-animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  -moz-animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  -o-animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  animation: neonFlicker 0.1s ease-in-out infinite alternate, asciiGlow 2s ease-in-out infinite alternate;
  -webkit-filter: 
    invert(1)
    brightness(1.4)
    contrast(1.3)
    saturate(1.2)
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.3))
    drop-shadow(0 0 20px rgba(255, 255, 255, 0.1));
}

.links, .links2 {
  margin: 20px 0;
}

.links a, .links2 a {
  color: #fff;
  text-decoration: none;
  margin: 0 15px;
  font-size: 16px;
  transition: color 0.3s;
}

.links a:hover, .links2 a:hover {
  color: #ff69b4;
}

.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #111;
  border: 2px solid #fff;
  padding: 20px;
  z-index: 1000;
  max-width: 400px;
}

.popup-content h2 {
  margin-top: 0;
  color: #ff69b4;
}

.popup-content a {
  color: #fff;
  text-decoration: none;
  display: block;
  margin: 10px 0;
}

.popup-content a:hover {
  color: #ff69b4;
}

.blinking {
  animation: blink 1s infinite;
}

@keyframes blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

button {
  background: #333;
  color: #fff;
  border: 1px solid #fff;
  padding: 8px 16px;
  cursor: pointer;
  margin-top: 10px;
}

button:hover {
  background: #555;
}

.popup-content img {
  max-width: 80px;
  margin: 5px;
  border: 1px solid #333;
}

/* Efecto CRT general - Distorsión completa */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    /* Líneas de escaneo horizontales */
    linear-gradient(
      transparent 50%,
      rgba(255, 255, 255, 0.03) 50%
    ),
    /* Distorsión radial en las esquinas */
    radial-gradient(circle at 20% 20%, transparent 20%, rgba(255, 255, 255, 0.02) 21%, rgba(255, 255, 255, 0.02) 34%, transparent 35%),
    radial-gradient(circle at 80% 20%, transparent 20%, rgba(255, 255, 255, 0.02) 21%, rgba(255, 255, 255, 0.02) 34%, transparent 35%),
    radial-gradient(circle at 20% 80%, transparent 20%, rgba(255, 255, 255, 0.02) 21%, rgba(255, 255, 255, 0.02) 34%, transparent 35%),
    radial-gradient(circle at 80% 80%, transparent 20%, rgba(255, 255, 255, 0.02) 21%, rgba(255, 255, 255, 0.02) 34%, transparent 35%),
    /* Distorsión central */
    radial-gradient(circle at 50% 50%, transparent 30%, rgba(255, 255, 255, 0.01) 31%, rgba(255, 255, 255, 0.01) 40%, transparent 41%);
  background-size: 100% 4px, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  pointer-events: none;
  z-index: 1;
  -webkit-animation: crtDistortion 0.1s linear infinite;
  -moz-animation: crtDistortion 0.1s linear infinite;
  -o-animation: crtDistortion 0.1s linear infinite;
  animation: crtDistortion 0.1s linear infinite;
}

/* Efecto de parpadeo CRT */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.03);
  pointer-events: none;
  z-index: 2;
  -webkit-animation: crtFlicker 0.15s linear infinite;
  -moz-animation: crtFlicker 0.15s linear infinite;
  -o-animation: crtFlicker 0.15s linear infinite;
  animation: crtFlicker 0.15s linear infinite;
}

@-webkit-keyframes crtDistortion {
  0% { 
    -webkit-transform: translateY(0px) scale(1);
    -webkit-filter: hue-rotate(0deg);
  }
  25% { 
    -webkit-transform: translateY(-1px) scale(1.001);
    -webkit-filter: hue-rotate(0.5deg);
  }
  50% { 
    -webkit-transform: translateY(0px) scale(1);
    -webkit-filter: hue-rotate(0deg);
  }
  75% { 
    -webkit-transform: translateY(1px) scale(0.999);
    -webkit-filter: hue-rotate(-0.5deg);
  }
  100% { 
    -webkit-transform: translateY(0px) scale(1);
    -webkit-filter: hue-rotate(0deg);
  }
}

@-moz-keyframes crtDistortion {
  0% { 
    -moz-transform: translateY(0px) scale(1);
    filter: hue-rotate(0deg);
  }
  25% { 
    -moz-transform: translateY(-1px) scale(1.001);
    filter: hue-rotate(0.5deg);
  }
  50% { 
    -moz-transform: translateY(0px) scale(1);
    filter: hue-rotate(0deg);
  }
  75% { 
    -moz-transform: translateY(1px) scale(0.999);
    filter: hue-rotate(-0.5deg);
  }
  100% { 
    -moz-transform: translateY(0px) scale(1);
    filter: hue-rotate(0deg);
  }
}

@keyframes crtDistortion {
  0% { 
    transform: translateY(0px) scale(1);
    filter: hue-rotate(0deg);
  }
  25% { 
    transform: translateY(-1px) scale(1.001);
    filter: hue-rotate(0.5deg);
  }
  50% { 
    transform: translateY(0px) scale(1);
    filter: hue-rotate(0deg);
  }
  75% { 
    transform: translateY(1px) scale(0.999);
    filter: hue-rotate(-0.5deg);
  }
  100% { 
    transform: translateY(0px) scale(1);
    filter: hue-rotate(0deg);
  }
}

@keyframes crtFlicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.98; }
}

.crt {
  position: relative;
  z-index: 3;
}
