html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

* {
  -webkit-tap-highlight-color: transparent;
}

/* GlitchText */
@keyframes glitch {
  0%, 84%, 100% { transform: translateX(0) skewX(0deg); text-shadow: none; opacity: 1; }
  85% { transform: translateX(-6px) skewX(-3deg); text-shadow: 6px 0 #6366f1, -3px 0 #818cf8; opacity: 0.9; }
  86% { transform: translateX(6px) skewX(3deg); text-shadow: -6px 0 #6366f1, 3px 0 #a5b4fc; opacity: 1; }
  87% { transform: translateX(-4px) skewX(-2deg); text-shadow: 4px 0 #818cf8, -2px 0 #6366f1; opacity: 0.85; }
  88% { transform: translateX(4px) skewX(1deg); text-shadow: -4px 0 #6366f1, 2px 0 #818cf8; opacity: 1; }
  89% { transform: translateX(-2px) skewX(0deg); text-shadow: 2px 0 #a5b4fc; opacity: 0.95; }
  90% { transform: translateX(0) skewX(0deg); text-shadow: none; opacity: 1; }
}

/* RingPulse */
@keyframes ringPulse {
  0% { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(2); opacity: 0; }
}

/* Rotating rings around avatar */
@keyframes rotateRing {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes rotateRingReverse {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}

/* Scroll indicator bounce */
@keyframes bounceY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}

/* Pulsing green dot for current job */
@keyframes pulseGreen {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.4); }
}

/* Typing cursor blink */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
