/**
 * Scrolling Code Effect Styles
 */

.scrolling-code-side-left,
.scrolling-code-side-right {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30%;
  overflow: hidden;
  opacity: 0.35;
  pointer-events: none;
}

.scrolling-code-side-left {
  left: 0;
}

.scrolling-code-side-right {
  right: 0;
}

.scrolling-code-wrapper {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.75rem;
  white-space: pre;
  will-change: transform;
  -webkit-will-change: transform;
}

.scrolling-code-side-left .scrolling-code-wrapper {
  color: rgb(37, 99, 235);
  padding-left: 1rem;
}

.scrolling-code-side-right .scrolling-code-wrapper {
  color: rgb(29, 78, 216);
  padding-right: 1rem;
  text-align: right;
}

.scrolling-code-block {
  -webkit-transform: translateY(-1000px);
  transform: translateY(-1000px);
}

.scrolling-code-line {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.scrolling-code-gradient-left,
.scrolling-code-gradient-right {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30%;
  pointer-events: none;
}

.scrolling-code-gradient-left {
  left: 0;
  background: linear-gradient(to right, 
    rgba(255, 255, 255, 1) 0%, 
    rgba(255, 255, 255, 0.5) 50%, 
    rgba(255, 255, 255, 0) 100%
  );
}

.scrolling-code-gradient-right {
  right: 0;
  background: linear-gradient(to left, 
    rgba(255, 255, 255, 1) 0%, 
    rgba(255, 255, 255, 0.5) 50%, 
    rgba(255, 255, 255, 0) 100%
  );
}

/* Dark mode support */
.dark .scrolling-code-gradient-left {
  background: linear-gradient(to right, 
    rgba(15, 23, 42, 1) 0%, 
    rgba(15, 23, 42, 0.5) 50%, 
    rgba(15, 23, 42, 0) 100%
  );
}

.dark .scrolling-code-gradient-right {
  background: linear-gradient(to left, 
    rgba(15, 23, 42, 1) 0%, 
    rgba(15, 23, 42, 0.5) 50%, 
    rgba(15, 23, 42, 0) 100%
  );
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .scrolling-code-left,
  .scrolling-code-right,
  .scrolling-code-gradient-left,
  .scrolling-code-gradient-right {
    width: 25%;
  }

  .scrolling-code-content {
    font-size: 0.625rem;
  }
}
